Actually, what you should keep in mind when writing a trainer is that this isn't you, and it's not about you or your favourite Pokemon. This is a character in their own right, who has their own personal Pokemon preferences, who has only been to certain areas with certain Pokemon in them and so on. Thus, you need to take these things into account.
Like you and me, different character will have their own favourite Pokemon or types. Whether they prefer ghost Pokemon or blue Pokemon or smart Pokemon, that's going to differ between characters, and it can be fun trying to create a team around that. It helps you get to know your character better. Secondly, you have to take availability into account; where has a character been, and what Pokemon would have been available to them? A character who lived by the sea all their life likely won't have had the opportunity to catch a fire-type, for instance. This can also make it interesting and a fun exercise to find Pokemon that would logically have been within that character's grasp, and you can get to know where your character's been.
If you do find that too limiting, there are other ways to get different Pokemon. Does this character have any friends or relatives who are/were experienced trainers who might be willing to give them one of their Pokemon/Pokemon's eggs? Do they perhaps have access to a GPS where they can trade for Pokemon from another region?
Lastly, don't worry about choosing Pokemon based on their popularity. As long as they're well-written and have distinct personalities, nothing else really matters. (That said, it's always fun seeing Pokemon not often written about and seeing how it's written. :>)
Hope this helps, good luck!
~Psychic