I think people are forgetting that there is logic behind each regional dex.
Take Hoenn for example. Hoenn is almost tropical. It's warm. Yes, route whatever it is that comes before and after Fortree rains a lot, but it's like a rainforest. There's a huge desert in the middle. There is no ice or snow anywhere besides a small bit far away from the main land, where you can find just two ice types. Hoenn had many Pokemon that reflected warm temperatures, eg Cacnea (cactus), Seviper (...snake..), and many others.
The complete opposite would be Sinnoh, in which Cacnea, Seviper, and many others, are not present, because Sinnoh is generally cold and rubbish. I think of Sinnoh as Britain haha, hence Ponyta (horse), hence Bidoof (beaver) hence lack of fire types besides Houndour, which is a dog, and Magmar, which is found in the Iron Works, presumably imported by workers (makes sense).
Don't anyone reply with "oo but johto and kanto's pokemon are tropical as well sometims", yeah well in those days gamefreak didn't have to try so hard. And anyway, why such things as Exeggutor and Magby didn't make it to Hoenn is beyond me...
Anyway, my point is, Caterpie, Nidoran, Pidgey etc roam Johto for a logical reason - Johto and Kanto are pretty much one region. They are one island. Unlike Hoenn and Sinnoh. Heck maybe if they create a game that's linked to Johto/Hoenn it might have all the GS pokemon available! And what's wrong with them popping up all the time, it just makes it more exciting when you finally see that Aipom, or that Yanma, or whatever. I'd rather have a large variety than barely nothing just because it's "annoying".
It's even more annoying when you come onto the forums to see that everyone has Torterra, Staraptor, Floatzel, Rapidash, Luxray and Lucario.