The Pokemon gods intended it to be like that, you could say. xD
That's why your rival's starter Pokemon is always the highest in level. It's like the 'big finale' (well, it's not final though. So, that's a bad description) of his team. Starter Pokemon are probably meant to be pretty strong, and to help you progress through the game.
The Pokemon creators want you to win, remember that. They don't want you to lose, so they gave you a strong starter Pokemon, to try win the game and such and such.
Of course, it doesn't HAVE to be in your strongest. Yet again, it doesn't have to be in your party at all! None of the trainers you see when going through a game have a starter Pokemon (except for a tiny handful, one in Platinum and a few in HGSS (Kanto)), so you can be like them. Rebellion against Professor Oak/Elm/Birch/Rowan/Juniper. :O (Hey, they're all plants! :D)
Well... yeah. Hope I helped some way or another. :D