When I had this issue, it turned out to be because I had gaps in my rank system. Auto promotion only looks at the level immediately below. So if you've got no positions at a rank, and therefore no officers at it, then the game is unable to find any officers to promote to higher ranks.