There is another option, although it can be rather time-consuming (in addition to which some players consider it be cheating):

You can keep track of which years your "hero" generals appear (I know you can also look it up in the game files, but I forget which one), and then make sure to train your best unit in that year. No, it's not a perfect solution; but some people feel it's worth doing so if it saves you the frustration of having an uber-general commanding a unit of lowly spearmen.