My general strategy is this and it seems to work out rather well. Move my troops within archer range, order the archers/infantry to hold the ground. I order the cavalry to FOLLOW me. I never order them to simply charge. I will generally make strafing runs along their lines. Still the cav may be stupid, but since they are ordered to follow, they will follow, and wont charge and engage standing still. As im coming in on the first strafe run i order the infantry to charge.
Another thing is have your cavalry follow you, around to the rear of the enemy, then order your infanty to attack from the front, then charge your cavalry from the rear. You essentially sandwich them.