Congratulations, CA TW has taught you something realistic about warfare!

As in most wars with armies of equal size the Defender always has the advantage as others have said. Even if you disregard everything else, just the fact that the defender is rested while the attacker has to march forward already gives an advantage.
You didn`t mention Navy arty. Naval arty is a great way to neutralise enemy artillery.
If I have no naval artillerry then my own artillery will usually take out the enemy guns first as they are the 1st things I target and I usually win that battle. If you`re really brave, target the enemy General, if you can get a lucky kill on him, you`ve more or less won once you get to grips.
If you have cavalry do everything to flank those cannons- Everything! Just charge head on if you can`t flank- sacrifice them if need be. Even if they get intercepted try to get intercepted near the enemy cannons. they`ll be blocked and in the meantime you can try and rush everyone forwards.
If I have no arty (or it gets destroyed) or cavalry then you have to do what the real guys did, either retreat or move forward taking the crap. I usually find with equal forces I can risk it as long as I space everyone out and rush everyone at the last moment. Use rifles to keep the main enemy line occupied and try to engage and flank from the rear the sides.