Regarding the food "exploit". I have never seen it as such - it have just been part of my (single player) games to have a few growth centers collecting food.
However, I can appreciate that it could be a problem, and would like to suggest a fix - if at all possible (no experience with coding for col):
Each turn, points are added to the growth meter, based on the settlements current food storage. Perhaps one point per 100 food stored (do not round fractions). Growth is capped at the the settlements current health level. When the growth meter fills, half the settlements food is consumed (can be improved by buildings and effects) and a new colonist* is spawned.
Large food stores and good health creates fast growth, at the cost of a lot of food per new colonist (50% of stores consumed). Players have a choice to create "expensive" food centers, or spread out their food for slow, but cheap growth (the overall growth rate is initially the same as it is a linear function of food stored, but pooling food creates a short term boost, at the cost of a long term decline in growth).
*How about having new colonist be "young colonists", unable to leave their settlement, earning double education, with a chance/rate each turn (modified by game speed) to become a normal colonist (unless they acquired a profession via education, or learning-by-doing). This will delay a settlements ability to be a feeder - and insensitive such settlement to have a few jobs for the young lads, or at least a school - further increasing the food consumed by the settlement.
The reason I dislike the size of the settlement having an impact on growth (other than food consumed and health), is that I would still be able to create growth cities - as long as i don't populate them - which seems rather gamy.