I'd propose keeping it simple. A recruit rank for new, unexperienced men, the rookie of the original game. Then, like X-Com, combat experience would give them a promotion. Anything after that is pyramidal and based on numbers with promotions only made as an opening occurs. An interesting addition would be to allow the player to choose who fills that slot. So, for instance, when you get in new recruits you are alerted by the game that promotions are available, a promotion button will appear over their stats which you press to move them onto the next rank.
I'd propose you don't use corporal as the title for the rank after a basic recruit as it implies some level of command whereas the promotion to this rank denotes combat experience. This way you can have a squad of hardened veterans without all of them being commanders.
If you want to give the impression that these recruits are soldiers who have already distinguished themselves I wouldn't use Private or Corporal as ranks. I would use Recruit and Xenonaught. A Xenonaught being someone who has proved themself in combat and are a respected part of the team.