I ussually don't retrain and have a small stack with 1 or 2 units of common troops in my armies such as front rank troops and heavy skirmishers, which I use to replace any losses after battle.

Sometimes, if a battle is taken place near a city which can has access to a lot of my core units, I will by retraining there just because it's less of a hassle. In my Massalia game, Rome betrayed me and attacked Massalia. I relieved the siege, then after the battle retrained everything in the town and was ready to go on the advance all within 1 turn.