The issue was that people broke the ladders.
Not at all. The issue is that people used ladders to get to extremely defendable places. If you really want ladders, add unusable and destroyable ladders up in the sky. A roof stocked with enemy ranged which only access points are ladders is a death trap no matter your class. Suppose you have a shield and manage to get to the actual roof, you die the instant you start actually fighting. Making roofs accessible is introducing siege logic in battle mode. Yet siege works because attackers respawn fast and their goal is not to kill defenders but to take the flag. Intelligent melee in battle mode never use ladders to get to the enemy roof because it only serves one purpose, killing themselves. The only appropriate response is to hide and wait.
The most fun battles I had when playing with the Hospitallers were when we had to counter range and it turned into this crazy roof war with small teams of infantry charging around trying to knock out the archer positions.
As I said before, to resolve this upkeep needs to go to the shit on ladders, their HP needs ot jump and if at all possible do that whole "chest that drops ladders" thing.
Boom problem solved, your welcome.
This could work if throwing a ladder towards a roof of archers actually killed them.
It doesn't. It is however very efficient at killing anything that goes up this ladder under a shower of projectiles, of course. Ladders basically remove cav from the game, one of the few ranged pseudocounters. And additionally make the job of the other pseudocounters even harder, due to the extreme vulnerability of people that climb ladders. On top of that, they make killing those
basically invulnerable roofcamping ranged enemies an even more urgent task because roofs provide excellent fire zones. Back then it was frequently impossible to find shelter against projectiles.