I had a similar battle just on a smaller scale against the Slavs. It was brutal... Even a unit of PLumbatarii that sarted out at 16 (and ended with 16) men managed to kill more than 60 enemies.
ButI found a way to counter units coming out of towers, if you have a unit with pila or plumbata, just stand a short distance away and let them chuck spears at them. I had a depleted unit of Plumbatarii suppoed to block a tower full of Chosen Steppe Swordsmen. No chance! So I moved them out of the way so I didn't risk my men getting pushed over the side. When the Chosens rushed out they ran into a hail of plumbata, and my unit managed to deplete them enough to be able to win in the melee. Sure, some Steppe Horde Spearmen also rushed up the tower, but they were no match for my victorious Plumbatarii.
Bookmarks