I'm wondering if it might be useful to implement a minimum ratio, like you also mentioned here: http://aurora2.pentarch.org/index.php?topic=12847.msg157286#msg157286 - simply to ensure there are people to choose from when promoting. Looking at my own current game, there are ranks where I currently have no officers employed. The officers who have jobs are:
R1: 3 out of 4
R2: 0 out of 8
R3: 4 out of 16
R4: 3 out of 32
What happens when all my R2 officers retire? Without a minimum ratio, if there are no jobs, there won't be promotions, which also means I won't get new R1 officers once the R2 officers have retired, since there are no officers to promote. I think I'd prefer to not have to create artificial admin commands to ensure the right number of jobs at all levels. Or perhaps this is just the way to go? Creating admin commands as career pathways for specific skills? I usually have a very simple command structure, so I'm a bit hesistant at the thought of needing a more complex structure simply to create more jobs, but perhaps I'll just have to bit the bullet, if there isn't a minimum ratio.
I thought about this too. It seems having some baseline of empty promotions is currently off the table, but maybe the function that searches for candidates in the next lower rank can also make another run into the second next lower if it couldn't find anyone (and eventually loop through all lower ranks if necessary), then promoting someone on basis of future promise, but not assigning them yet. They would stay without command, but be lifted up as promising candidates, and perhaps in one year promoted again to then take their role.
This could also ease some worries about never finding qualified higher level candidates, since it would be really rare to have someone run through 3 different types of filters throughout their career and then still have some spare new talents for a 4th specialization position at the top ranks.
On another note, if you really have ranks that do nothing before next, maybe it could just be necessary to delete that rank and compress the hierarchy for you? Well, I do actually understand the need for fluff ranks in a sandbox game, so maybe it is better to find a real solution to this empty-rank problem. After all, in case there are only very few positions for a certain rank, the situation would still occur and run risk of creating a promotion bottlenecks.