IMHO cannons are only really useful against monsters, knights, chariots & characters.
Operate your Black Knights 1 model deep & don't let him get a flank shot on them - don't worry about losing skeletons as it will probably take at least 3 rounds of shooting for the cannon to recover its points value (as they will normally be runed up) - Just raise more to replace the dead.
Engage the cannon's crew in combat ASAP (dire wolves, bats etc or charge it with you knights)
Raise a unit of zombies in front of it (stops their line of sight and they can't shoot over them) or even to the side or rear and charge it into hth the following turn
The important thing is not to dither, pick a way to deal with it (even if it means ignore it) Raised units, fast cav, bats, summoned ghouls anything cheap to beat them or at least tie them up - if you see a bolt thrower on a flank be careful - it may blow up