FWIW I promote almost all players to the next level at the end of the Minor League season. Exceptions are BL prospects who need more work at their current level. When I get to AAA, if the player is a BL prospect, I keep him there. The rest of the AAA guys go down to Rookie. I usually need to do a little juggling but it works. AAA guys who don't become free agents or retire the next season are deactivated and used to fill out any rosters as inactive guys the following season. There's usually not a lot of them. I almost never have to fill out minor league rosters this way and it doesn't take too much work.