Cannons, definitely cannons...lots of problems there. Cannons are strong, but how are cannonballs hitting two targets at once (rider and mount i mean). In addition, if you roll a 6 to multi-wound it is dealing precisely 12 wounds, that seems a bit off. In addition, a cannon (in ancient terms), was a big, heavy, metal tube strapped onto a couple of wheels with a simple screw for elevation...it had to be aimed by hand: no rifling, no precise control over the gunpowder blast strength...so how are these things suddenly more accurate then sniper rifles. I mean, they can pip-the-ace on a dragon flying over a combat in erratic fastion?!? We have trouble doing that TODAY with computers and hydraulics to aircraft..so here's my though
Thought 1:
When rolling to wound, you must roll to see WHO you hit when firing at a monster/rider before you roll to wound him
OR
roll your multi-wounds then roll that many dice to see who those wounds went on to.
OR
When firing at monsters it hits the monster and rider but only does D3 wounds instead of D6
Problem with this one is it doesnt handle the accuracy problem, and instead just weakens the cannon, and my biggest issue isn't their power, it's their accuracy. So here's my better thought and what i would change
Divide the range of a cannon in half. Choose the point to fire at, if inside the short range, once you have chosen the point, scatter that point by D6, then fire as if this was your original target. IF long range, 2D6 scatter. If you are within 12 inches, you dont scatter at all. If you hit a friendly combat or unit then so be it...thats the risk of firing a cannon across the battlefield with friendly units so close by (happened all the time in ancient warfare).
This would take into account the inaccuracy of cannons at long range, but still leave them the potential to actually KILL anything they shoot at, they just have to earn it.
As mentioned above, this is fantasy, but no one brings "fantasy" things because of the presence of gods sniper rifle all over the Meta