This is my final suggestion to make sieges easier for defenders but more unforgiving
What does losing a siege really mean? You get occupied for 2 weeks but you revolt and win 9 times out of 10. This causes so many back and forth sieges at the same towns against the same nations. I think increasing the time to revolt to 1 month (maybe more) is a way better option. With much higher stakes, defenders are way more likely to try to sign peace treaties with their occupiers so they can get unoccupied. Nations can always offer smth that people want, especially if they're strong enough to actually win a revolt. A few examples can be money, items, movecraft, build designs, or even military support
I know people will pull out the small nation fallacy, so I'll just simply refute that here. If a nation is so small that they can't offer anything a larger nation might want (which i highly doubt, but let's play along with this hypothetical), then how are they going to ever win a revolt? Even if it's 2 weeks? The only time they can win a revolt is if they get a larger nation to help them. Which would require them to completely overhaul their fort to support larger scale war, and grind tons of mats to host the large nation and its allies. Unfortunately small nations are at the mercy of the large ones in any system other than an honor system, so you can pull out that fallacy in any argument to prove your point, but it's kinda irrelevant
With this, wars might actually end and new ones might start in different places against different nations. Peace treaties might sound like they stop wars, but they have been some of the best changes to wars in the past. They don't really happen anymore sadly, but when they did, it always drastically changed the sides of war and created more small scale wars. Which is so much better than the monotonous slow changing wars of the modern era