Playing a game with the slave mechanics, I thought the following. I think you should only be able to enslave units when you attack. It seems strange to me for an army to capitulate and become a slave, when you're the one who's attacking.
Instead, when you attack the other and win, it's more likely to enslave the enemy units who capitulated because of your attack.
There are many instances in the battles when attacking army gets encircled and capitulates, with attackers being sold into slavery. Example: Siege of Syracuse by Athenians in 415-413 BC. After the failed siege and failed relief attempt 7,000 Athenians surrendered -- their generals were executed and the rest sent to die as slave workers in the stone quarries of Sicily... Basically, enslavement represents captives after the defeat. One can be defeated both in attack and in defense.
I think there should be a lesser chance of enslaving an attacking army. it did happen in history many times, but it still seems kind of odd in the game, especially if it happens a lot. I will just lower the chance by half.