I force myself not to retrain units by taking high tech units with me on campaign.

Basically, I get one and only one army to conquer a faction. This army is recruited only from my original cities. No reinforcements allowed, only retraining. However, because I use high tech units, the enemy faction (especially when I play Roman vs barbarians) doesn't have the buildings needed to retrain.

That means ever so often my whole army has to turn around and go back for retraining in order to survive. On the way back, they usually get attacked by the enemy as well.

I find this also forces me to use spies, because sometimes there will be a reasonably high tech town I will want to take to retrain, even though that means marching through miles of enemy territory.