Erica has to be my favorite (I was disappointed when she gave Ash a badge instead of making him win it). She has grass pokemon and those are my favorite type of pokemon.
Misty used to have Starmie (my favorite pokemon). She is still a decent trainer though and could beat Ash in any battle (except when that dumb Psyduck of hers interferes).
Giovanni is another favorite. He was always so mysterious in the first couple seasons and then they started showing his face and leaving his Persian out of things. I think I like the gameboy Giovanni better because he dismantled Team Rocket and became a good guy, but overall Giovanni rocks.