Since this is my researcher boy, I can post stuff like this...
On why the early gens didn't have their next stage evolutions until later gens. The answer is simple: quality of life.
Environment is quite important when it comes to the evolution of most animals, it shapes and changes them to fit the area. Kanto, back then, was still being held back in terms of technology and in the quality of life for everyone involved. Many are still living in old homes with little modern amenities. The most entertaining thing kids could do was to play outside and catch bugs in their nets. That what could be considered modern entertainment was actually illegal pachinko places where adults gambled away their monk and went into debt.
A war happened recently and the landscape was still trying to heal, the people and Pokemon were trying to recover from a time where things were much, much worse. Of course Pokemon were not reaching a new stage, of course they were having low birth rates in tandem with the populace at the time.
Fast forward to gen four, where previously Pokemon that had no second stage have them. The region reflected the times. There was better Medicare. Schools where people could just walk in and take classes. There was modernization. There was a system here that allowed people and Pokemon to flourish. Was it perfect? No, but time and environment had improved things.
At any rate it boils down to what I said before: quality of life determines Pokemon evolutions.