Early Retirement
So, the way retirement works, you have a base minimum retirement age of 10 years time in service, plus five years per rank after the first, with a 20% chance for commanders (with an assignment, 40% without) to retire per year.
Basically this means most (assigned) officers retire about 3.5 years after they hit the minimum retirement age. Unassigned officers will probably retire about a year and a half after the minimum age. An assigned officer only has about a 25% chance of lasting to six years post-minimum retirement age.
Every game I've played so far, my officer corps has been replete with captains and and admirals in their 20s because good officers just don't last. In the real world, a US naval officer can expect to hit O-6 (Captain) after about 21-23 years in service, which is about when they'll be expected to retire in Aurora. Most captains will retire before the age of 45. Frustratingly, for specialty roles like terraforming or mining base commanders, its entirely possible that they retire with no qualified officer to replace them.
Nonsensical promotions
If officers don't retire, they get promoted. If left to its own devices, Aurora automatically promotes officers so that each higher rank has half as many officers as the rank below it, so if you have 32 LCDRs, you'll have 16 CDRs, 8 CPTs, 4 RADMs, 2 RADLs, and 1 VADM. Unfortunately it does this without regard to whether an open billet exists at that rank, so if you don't babysit the system, your most talented officers will be promoted out of their jobs and end up sitting around fleet HQ doing nothing until they retire or die, unless you manually demote them, flag them "do not promote", or create an admin command just for them, which becomes a pain to manage if they again die without an eligible replacement. You end up with an extremely top-heavy command structure, because the real graph of available billets doesn't follow the same progression.
For example, if you have a small navy of 4 destroyers (with main engineering & auxiliary control modules), and 4 16-ship squadrons of Fast Attack Craft, your available billets look something like this:
1x Navy HQ (VADM)
1x Fleet HQ (RADM)
1x Task Force HQ (RADL)
4x Destroyer Captain (CPT)
4x Destroyer XO (CDR), 4x FAC Squadron Commander (admin) (CDR)
4x Destroyer Chief Engineer (LCDR), 64x FAC Captain (LCDR)
Basically, if you build enough naval academies to fill out the lower ranks, you end up with 68 LCDRs with jobs, 26 unemployed CDRs, 13 unemployed captains, 7 unemployed RADLs, 3 unemployed RADMs, and an unemployed VADM & ADM. This is a simplistic example, but it's been my experience that there are always way more lower-level billets open than upper level billets.
Proposed solution
Officers shouldn't be automatically promoted unless a billet exists at their new rank that they're qualified to take over. 'Qualified' meaning that they hold the appropriate specialty bonuses. Institute an "up or out" system which is based on time in grade instead of an arbitrary retirement cutoff date. For this example, let's go with 9 years.
For example, using the structure above:
VADM Bigshot hits 9 years time in grade, with no higher-level admin position existing for them to be promoted to, so they retire. The RADM below them is promoted to their admin command, and vice versa with the RADL commanding the task force command. When we get to the captains, the captain with the best relevant skills, out of those captains with a minimum, let's say, 3 years time in grade (to prevent the unrealistic meteoric rise of 20-year old officers) is promoted. An officer that hits 9 years time in grade will retire automatically, unless no eligible officer exists at a lower rank to replace them. Allow the "story character" checkbox to override or at least boost this retirement cutoff.
Also, Steve, please add more command & control modules for currently unutilized skills, like mining and terraforming.