@Gazebo, I still don't understand how your GAP fixes the problem. Suppose I am cruising along at 20 Happiness, hit a key tech, and drop to -40. What does the GAP do? Well, it means that I have a small buffer before the effects start kicking in. However, it doens't actually resolve the underlying issue - it is a band aid. How can I resolve the underlying issue? I need to either a) reduce needs, or b) increase the relevant yields. Reducing needs can mean teching to a new building, but I might not have time for that, or there might not even be one available for a few eras, depending on when my problems started. Increasing the yields is tough, because the GAP buffer means my growth keeps up, which means the yields I need to meet are also increasing. I just don't see how GAP solves the problem, at all.
The solution has to be something that screams at the player "STOP ALL GROWTH NOW". GAP does not do that.
If you're not going with Migration, fine, what about the Food penalty discussed above? It's not my favourite solution, but a) it would actually work, and b) it should only require minimal coding, in my impression.
We already have a growth penalty.
G