Well, I haven't played the game in a long time (i.e., 2007), but the only good place to start would be to save in Twinleaf Town, if you can. If you are able to save when your rival is following you to the lake, save there as well.
A good thing to note is to breed a starter Pokemon (trade it from somewhere, Platinum, GTS, or you can trade it from Diamond) and breed it with Ditto or any other Pokemon that meets the breeding standards of the starter. Then, see when the egg is saying 'It will hatch soon!' and keep on - let's say every ten steps - save the game and when the egg hatches to become normal (or shiny if you really are lucky) you can just soft reset from that point. Good idea, I think.
When you get your shiny in Pearl, keep playing in Diamond until you have the ability to trade, and then trade over the shiny, release your old starter and continue with the game with your new starter!
Hope I helped! :)
Source: My thoughts. :3