The best hunger system I’ve seen was UnReal World’s one. In fact, I mentioned it on IRC, although I’ve been, for the most part, completely ignored.
It splits hunger into three separate metrics - hunger, nutrition, and starvation. Hunger is measure of how hungry you are, nutrition is a measure of how well-fed you are, and starvation is self-explanatory. You become hungry on the order of few hours, you become famished gradually on the order of days, a week or so without substantial food, and finally, you start to starve at a gradual pace when famished.
Now, food and drinks have three properties - how filling they are, how nutritious they are, and how much they quench your thirst. As you become more famished, your hunger grows much faster, allowing you to catch up on nutrition, by eating more. On its own, being hungry alone incurs no penalties.
Personally I would suggest something like this for CDDA, possibly with the starvation component stripped out and simply replaced by the nutrition scale going further down. The benefits would be short-term hunger being much less annoying, more realism, and more leeway in managing it. As well as a way to make junk food more filling.