Yes. The only time I charge the enemy head on is if I have a bunch of monks and don't feel like taking the time to manuever.
Usually on offense you can shift the AI off it's hill, move it around, and generally disorganize it. Defense is the same.
A good start to a battle is to triple the first AI unit, one infantry to the front, one flanker, and a cavalry unit behind. Hard to explain exactly, but usually you can crush or rout a few units before their whole army has engaged. With the low morale armies the AI usually has this can start a chain rout, or at least give you superior infantry numbers. Picking out one or two units to focus your arrows on weakens them to the point where the will rout quickly. Manuevering so that the routing units flee through the enemy can be huge (depends on terrain though). Usually AI armies have 3-5 archers, send one cavalry after them, keep him switching targets so that they keep running backwards instead of targetting your troops.
Bookmarks