I've got a problem with stable housing.

When I first build an area, then new couples move into the houses, so you only need N/2 (where N is the number of useful jobs) houses. Then you have a local food supply for N people and you're done. But as time goes on, this becomes distorted- spouses die, for example, in a famine that was *totally not my fault*.

But now you have N jobs, but only N/2 people live in the village, alone without children. So unless you want your people to trek literally all the way across the biggest map size (which is what I had), you have to make more houses.

But when they die, and young people move in, you end up with way more people and available workers than you need or can feed, so the population over-grows and you get a famine and the population crashes.

You could manage this problem if you could stagger the stages to occur in a couple houses at a time- that way one house being 80-year-old widow only can be countered by another house being fresh young couple. But you can't seem to stagger them and the villager intelligence does not seem to spread them out appropriately.

How can I avoid this boom-and-bust cycle?

Edit: 

Not to mention that if you want to build a new structure, the builders need to live locally, but once it's done, they don't, which introduces more temporary but potentially severe housing pressure and often seems to lead to *severe* delays in constructing new structures even if you have all the resources available and proximate. Labourers harvesting nearby resources such as stone or iron also seem to have a similar problem.