Interesting. I've also been exploring the siege mechanics a little and have developed a strategy to defeat a besieging army in the field, whereby winning the siege defense may be unlikely due to a combo of both the siege numbers game and a lack of decent siege AI.
It does work on the principle that you should have a sizable militia garrisoned in your castle though, for when the enemy begins it's siege.
If you arrive before the besieging army does, empty the castle of any decent units and take them into your army, leaving only the castle's militia to defend, which may be as many as 250 militia depending. If you don't have the room to take them, assign a follower, give them the units, create an army and have them join.
It matters not if the enemy has already begun the siege when you arrive and any units you want are trapped in the settlement, it just means the enemy will take longer and incur more casualies taking it, and also gives you more time to gather your forces.
Remain close by with your army and let the attacking army do it's thing. Keep a close eye on your militia troop numbers during the siege and when that number is reduced to a handful of defenders, as little as 5, attack with your army. In some cases i've found that this tactic is more than enough to win the day and save your castle without losing quality troops to wonky siege AI, instead giving yourself a fighting chance to command them in the field where they perform at their best, ahem! Castle militia will recover over time.
I also don't feel like this is in any way an abuse of mechanics but infact a perfectly sound strategy, weakening the enemy on throw away units (militia) then engaging them with your best units, ideally of better quality and organized for a real battle.
Sure it's still a numbers game, but there exists a certain numbers sized window to pull this off, and feels good doing it!
Have fun!