my ideas:
1) so, for now siege very close to be unusable. 12+ hours raid and all of this time you must be with full stack cuz it's war time. it sounds unreal.
basic you can make battering ram indestructible but before using it you must wait some time and after this time the defenders can destroy it but only after waiting time is end. how it work? so, you build battering ram and you know the raid time, the defenders can come for inspect it and see the raid time, call support or just start preparing for fight.
2) battle system. i have no ideas for global system. but for small bow fix you can make shield block and little change shield make it like armor with the wear.