Short answer is no. Economy is broken and towns/castles will just keep growing until they run out of food. This eventually happens no matter what.
Nothing "broken" about it, contrary to popular belief.
Garrisons in castles are less likely to starve to death because they don't rely on food from the market. But you will still end up with an empty granary. So best strategy is to put elite troops in castles, and put large numbers of low level troops in towns, since they are not safe.
I think it's a fundamentally wrong approach.
The most basic approach would be to first assessing whether a castle needs so many garrisons in the first place, or not -- and in many cases, upon the playing styles and strategic situations people are in, you really don't need that many garrisons in the first place, because:
(1) most efficient way of defense in wars, is to intercept enemy armies on the field, and most players prefer this as well
(2) no matter how much garrison you have, an enemy army of certain size will always capture it in the end
(3) therefore, town/castles troops don't do much more than discouraging enemy army of lesser than 300 men from attempting sieges
(4) despite such limited role in actual wars, garrisons consume food and cost wages
Considering all of the above, and then think about it.
When having 250 militia/250 garrison, or just 250 militia, doesn't make any difference in stopping a 500+ sized enemy army from capturing the town/castle, does it make sense to put so much garrison into towns and castles in the first place?
The answer is: "NO."
Practically speaking, your garrison troops, play a role in keeping security levels, receive nominal training over a long period of time, does not immediately contribute to your battle at hand -- this means, garrisons are basically your reserves. The guys in the benches in your ball game.
You field the best players in your current team, and have the reserves in benches -- not the other way around.
What you do is gradually increase the garrison in small numbers, with lowly tier 1~2 troops, up to the point your current food supply can handle. So if there's a small stretch of food shortage you lose a few low-tier troops. The garrison doesn't contribute to your immediate fight at hand -- but they also cost lower, since they're low tier reserves. All the time your main party of elites are fighting, the garrison reserves will receive passive training.
When you lose some numbers in your main party and need to quickly fill the ranks, you can go back to the castles and towns and fill up with some tier2~3 troops. And then refill the garrison with recruits.
That's, what you do with garrisons in the game. Putting elite troops in garrisons are a waste of money, with unnecessary dangers of them being lost in stretches of food shortages.
In other words, you guys are doing it backwards.