so i've figured out a workaround but it's kinda buggy.
siege normally. and deploy your men as far from the castle as you can, and right at the start of battle order them to hold position (because of the ai script many of them won't listen to your command, but the workaround is to use f7 and put them into a different group, then make them move). make sure all your men are sitting back, as farm from enemy fire as possible and now you order some to retreat. the exact number depends on the defenders balls i think. but start by having about 1/3 of their # of men to say and the rest go home, you can always tell more to retreat later but not call them back. (in this step it's obviously better to keep your archers the more the better)
at some point the opponent will see u have too few men outside and rush to meet you. this is when you set up your archers and shoot the opponent down as they charge towards you. what will happen is that the opponent will rout extremely easily in this state. meaning even if they still have 200 men and vs only 50, if you've killed like 25 of them before they got to your men they'll retreat. except this time the castle gate is closed on them.
now you can take caution to move your men up and shoot down all the enemy defenders just standing in front of their gates begging to be let in. of course your men will be subject to enemy wall archers as well so be careful.
whether you decided to farm those kill or not, you can retreat your army from the siege having killed a number of their men and repeat the process until they have few left. the wall archers will generally not come out, but they also have no shields and worse close quarters ability. basically i split my siege into 2 parts, as soon as my siege camp is set up i go kill his infantry like that. and when hes got only archers left i build a ram and ladders and lead my troops in. the level of casualties is reduced significantly. due to the lack of mosh pit dog piles at the top of walls.
what i find in sieging is that reducing the "battle size" can be a huge advantage. since the ladders are the bottleneck allowing 2/3 units to pass at a time (even if you blow the wall open the space is limited) meaning the smaller battle size the better the ratio of troops coming up the ladder vs enemies waiting at the top. basically if the combat size is big enough (like 800-1000) your men arriving at the top of the wall might get swarmed by 10 times the enemies and will all die before doing much. of course it also has to do with how many men you bring, but in a siege scenario the defender has 2x advantage. meaning even if you have 400 men vs his 200, and running 200 battlesize. you'll only have 100 men in the siege at a time to his 100, even though in a field battle you'd have ~130 vs his ~70. so if you are invading a town of 500 men with an army of 1000 running on 1000 battle size. you'd be in the fight 500 vs 500. but still 2-3 men up a ladder at a time vs 100 men defending top of the wall... not recommended even if you blow open the walls (but the process of destroying enemy walls takes weeks of bombardment which starves them out and also kills troops in the process, so by the time their walls open, they have 300 men left and you don't really need the walls open anymore anyways)