I always use the following tactic in my Medieval II Total War battles:
Strong deployment of horse archers forward to harrass the enemy flanks and encircle enemy formations. Meanwhile, my infantry form a line, with the heavy cavalry to the rear.
If the enemy advances, I will place my infantry on top of a hill, and wait for him to exhaust himself against my defences, before striking the flanks and rear with the heavy cavalry.
If the enemy waits, I will use my horse archers to weaken his key units, especially his heavy cavalry, and then move my infantry line forward to meet the enemy. During the infantry clash, I will then seek to manoeuvre my cavalry round behind his line, and charge his infantry from the rear.
When successfully executed, it works every time. The biggest threat to this strategy comes from concentrations of enemy horse archers, and heavy cavalry. If these become a problem, I will likely attempt to destroy the enemy heavy cavalry and horse archers with charges from my own, or with massed infantry archer fire, depending on the situation and composition of the enemy.