Kanto-You can get these in FR/Lg, then trade them to a later game. You can also get one from Oak in HG/SS
johto -You can either get them from HG/SS, make an egg from the starters in colosseum, beat MT battle in XD, or complete the pokedex in emerald.
hoenn-Get these from RSE, or get one from HG/SS
sinnoh-Get these as starters in D/P/Pt
The best way for me would be the pokemon GTS. Starter pokemon are some of the most popular trades there are. If you breed your starter with a ditto, then trade the starters for more, you can get them all pretty quickly.