I find that the best way to go against the enemy is the old alexandrian method, but you can variate a bit, like marching phalanxes in two lines and encasing the enemy. Echelon works too and I think I managed once to thin the enemy center enough that I could push through the middle with cavalry and follow up with light troops.

Eh, the battle model and AI is pretty much based over phalanx-cavalry-support troops(or rock paper scissors) though.