Cohorts are lined up in a basic line formation. This weakens the middle, but unless your opponent spams elite pikemen down the middle (which has happened one or twice), your line will always hold. Putting units in guard mode is something I still have to experiment with, I find that it tends to cause more casualties, so I usually only have the units in front of the siege artillery on guard mode.
Stage 1: Engagement
Clearly, casualties can be much reduced if you're playing on defence, though the only real difference is over who gets to throw sticks at each other first. I engage the enemy infantry first, setting my missile units to attack nearby heavy cav/archers. The advantage of a line formation (especially on huge unit sizes) is that you can achieve a wonderful crossfire. The other advantage is that your opponent will usually send too many stacks down the middle, meaning you can overlap on the flanks. Sending out your cavalry is a good idea once they've committed most of their troops.
Stage 2: Cavalry Battle
Once the infantry is engaged (this can take a while if your opponent has two lines, if the army is something like 90% infantry, move once the majority of units are engaged), it's your turn to start causing them problems. The main aim is to use your cavalry to take out their non-infantry units, which shouldn't be a problem unless they have a load of annoying jav cav.
Stage 3: Annihilation
Assuming the AI follows normal procedure, the General unit will run headlong into your infantry at some stage. However you should probably use your General units to chase him down, because Roman infantry SUCKS at taking down Heavy Cav. Once he's dead you're left with the easy option of a) Hammer and anvil or b) Anvil and slinger/archer/javcav Doom of Hell (DoH!). I recommend the DoH! option for pikes and phalanxes, as it makes them rout a lot faster than cavalry charges do. For barbarians, killing their general will usually make the lower end units rout, with the better ones following suit once you've 'hammered' or javcav'd them a bit.
Result (an unrepresentative bridge battle, which I randomly saved):
(Usually around 200 casualties, mostly infantry)