Wouldn't it make more sense if the people simply moved to regions with more food (instead of to regions with less inhabitants)?
That way, instead of losing half of a city's inhabitants, they would move to the surrounding regions to avoid starvation.
This is, in fact, what happens. Starving regions do not experience immigration, only emigration.
The new migration system is quite well balanced, IMHO, based on my observations of it in Terran, Barca, and D'Hara. We've actually gotten Barca's population levels up much faster than I thought would be possible.