The food balance that towns/castles can hold is too small for the volume of food that is consumed. Default is 100, you can build and upgrade granaries and still not get to 200.
In my current game on 1.3.1 I have Pravend which is surrounded by friendly territory (and the edge of the map) and very safe. Currently has over 1600 grain sitting in the market, grain is contributing 87 per day to food stores. Let that sink in. The town's storage capacity can be filled to the brim in 2 days by skimming ~5% of the amount sitting in the market each day. Similarly, food consumption from prosperity is 90, meaning the populace will completely empty the towns food reserves in LESS THAN 2 DAYS if all food sources were disrupted.
@Bannerman Man I notice in your screenshots from your 1.4 game some towns have food stores as high as 700. Is that from a mod or a change made in 1.4? Larger food stores relative to food production and trade volume should help to smooth the egregious behaviour of the current food system, though the problem can't be solved by that change alone.
It's best to not understand these figures in the literal sense.
Like, for example, if we say
"A family, having four units of food will be satisfied in this world. We will use the number '4' to express 'adequate amount of food'" that number "4" may have originated from the initial "4 units of food," in the example used, but it still can be used to describe something like
"this city of 1 million people is at level '4' in food situation." This won't necessarily mean a city with 1 million people only have 4 units of food.
Much the same, I view the food stocks parameter as an indicator, and not necessarily literal. Yeah, the numbers come from actual amount of food in the market, but when used as a measure to guage the food situation, no need to take it literally. I mean, obviously, in the process of depicting the process of certain nymber of people requiring certain amount of food, a lot of things fall into abstract, and therefore, cannot be taken literally. Obviously, you can't expect the system to depict actual amount of grain and all other food stuff in individual stocks.. and therefore, if you buy all the stuff from the market and the food stocks go down to "0", I wouldn't necessarily take it literally and think that means literally no food. I'd take it as a depiction of how certain amount of food represented as numbers in the market is now gone, and therefore the "level" of food stocks is represented with the number "0."
In this sense, the complaints about how "it's not realistic" or "it doesn't make sense" usually miss the point.
Frankly, the only thing I feel is a real "problem" with the food in the game, is the immediate effect it has on garrisons. If the food situation depicted in numbers is not to be taken literally (which clearly makes more sense, and is useful for analyses and discussions) (like... -50 to food shortage doesn't mean actually 50 people are suddenly disappearing from the town), then the effects of food on the garrison should also not be so literal and direct.
Barring the extreme and abnormal cases, the towns in game almost always find a balance after initial changes in the situation. If bad things happen, the town's food stocks will suffer, and the economy will fall until it finds a new point of equilibrium, and then will start a new pattern of growth with it's own temporary plus and minus fluctuations. The problem is that garrison numbers change too quickly along with those fluctuations, and make it very difficult for players to manage garrisons.
I feel, that it is not how food is handled itself, that must be changed, but rather,
the system that handles how the GARRISON CHANGES WITH FOOD SHORTAGE, that needs a change.
Unless a quite prolonged, sustained food shortage is happening (ie. sieges), the garrison numbers itself should not change. Instead, something else.. .maybe like... having the food shortage act as a debuff on the garrison morale, or if such state is prolonged, cuts down on the mass of garrison troop HP down by a set percentage, would make more sense.
Like, for example... hummm...
* ~5 days of shortage: 3% morale drop per consecutive days of shortage*
* 6 ~ 10 days of shortage: on top of morale drop, 2% of max HP drop consecutive days of food shortage after day 5
* 10~ days of shortage: actual troop number drop
...because, unless there is something seriously wrong with the situation surrounding the town, 10 days is usually enough to see repeating plus and minus fluctuations which would break the food shortage cycle... during which time the garrison numbers will still be maintained.
So, if the garrison numbers are way too high, or the settlement is under siege, then it will cause a long run of consecutive days of food shortages, and when it goes over 10 days THEN it will start dropping off garrison troops.
I think this would help players feel less penalized with managing garrisons, since the effects of temporary food shortages within 10 days would not directly impact the garrison numbers.