another idea - what about changing the way how normal soldiers upgrade? instead of 7 predefined levels, normal soldiers could level up similar way as Heroes, but, if they reach certain level cap, it will be possible to upgrade them to different unit as it is right now. This way, longer you have certain soldiers, more experience they will get, and even if you dont upgrade them to higher tier unit, they might get better and better, so in the end, you can have level 40 Swadian Page, or Longbowmens...
level ups could be automatic based on different templates based on type of unit - infantry, archers or cavalry.