The underlying problem in sieging is that players can make one-sided builds and only play one part of the game. We need to force them to play full game.
Here are some suggestions:
-Garrison formations, deploy-able heroes that don't cast spells
-Have troop auto deploy formations. You will just field troops with no heroes. Open up a 12 hour window after you get sieged you can attack the persons auto deploy formation to get 100% of resources back if you win (only 1 chance at this). Both players would have no heroes, no borrowed troops. 100% injury rate for defender, 90% for attacker. This will force people to have well rounded armies and have some sort of PvP build. This obviously can't happen with heroes because both players would need to be logged on at the same time.
-An alternate approach to the above idea is a 72 hour window after someone attacks you but it will be a fight with heroes. This will give enough penalty if someone wants to hide for 3 days after sieging and will be real pvp combat. Same rules stand with injury rates and if you don't deploy troops it is auto loss just like when taking a city. This would need to be a separate tab, not on the house activity log.
-After someones sieges someone from your kingdom they get a skull for 24 hours. If they retreat from an attack they will get the surrender debuff and all their heroes will be injured. Also the plunder rate of their city will be increased by 10% and auto shield will be disabled.
-Disable Elena's strategic retreat for massive units
In summary both of these options will help with the garrison issue, bronze runs, and only having units in your army for sieging. There are still many more balance problems between races that need to be addressed to make this fair, but this is a step forward in gameplay.