For battling purposes, I say let them evolve as soon as possible. Yes, when a pokemon is unevolved it does level up and learn moves quicker, but it doesn't have the grunt to execute it as powerfully as an evolved, unless you have the type advantage. Which you'll see will become a necessity when in a proper battle in which you still have a starter.
[I did however get a Azurill, taught it Hydro Pump, Solarbeam, Hyperbeam and Fire Blast, and trained it to Lv.100 just for lolz when I finished the game. XD]