The AI is actually pretty lousy with guns,
online vs humans the guns appear even stronger than in campaign or custom battle mode.
They certainly inflict more casualties.
I think the trick with people who are heavy musket orientated is to get into contact with the muskets as fast as possible.
As soon as one musket breaks you need to 're-task' your unit to flank attack a neighbouring musket, don't worry too much about the opponent rallying them, you don't want your army getting scattered running out single units.
Keep the pressure up and keep your army together and you should be able to 'push' a heavily gun orientated army from the field.
As each unit breaks it will have a negative effect on any your opponent has managed to rally.
As for dealing with muskets on hills, you could try standing just out of range, make your opponent advance em a little, then back off, and make him do it again.
If he's careless they may get far enough away from support that a rush has a chance of catching them.
Remember in this game (unlike real life) The bullets stop in the first target they hit.
Meaning when rushing a musket numbers is the key, also several guns supporting each other won't significantly increase your casualities, cause some of them fire at the same target - always.
1 H0(honour zero) monk vs 1 H2 musket is suicide.
2 H0 monks vs 2 H2 muskets is an even contest.
3 H0 monks vs 3 H2 muskets = monks every time.
Bookmarks