I am certain of it, I think depending on your own skill trainers use different kinds of Pokémon. It is their duty to test your skills and determination, not to steamroller you without giving you the slightest chance. I'm not sure whether that would be a law though (thus a "must").
I think there are no Pokémon types new trainers have to start with. The lucky ones who know a Pokémon professor or live in a town where one dwells will get one of the common known starter trios. But I'm sure trainers could just receive any Pokémon as a gift (as was e.g. seen in Pokémon Yellow where Gary started with Eevee and the player with Pikachu) or could just buy one if they can afford it (like in the casinos). I'm sure some trainers will also just befriend a random low-level Pokémon by giving it food or playing with it.