In the end, it all comes down to the fact that someone might change their active based on how many Pokemon you have out.
This should never be a problem though.
The solution to this has already been presented and I see no issues with it.
1. If you draw your 7 cards and have no Pokemon in hand, you must immediately announce that you have a mulligan.
2. Your opponent then chooses their Active Pokemon.
3. Now you show your hand to your opponent to prove that you have a mulligan, and may proceed to draw seven new cards. Your opponent may draw a card if he chooses, and may manipulate his Benched Pokemon, but his Active Pokemon choice remains.
Alternatively, for the strange and silly "what if they only have one Pokemon issue?" - if you REALLY care,
1. You draw your seven cards and you do not have a mulligan. Your opponent draws theirs and does not call a mulligan.
2. You can wait for a bit to see if your opponent plays their basics first. If they do, you choose one Active Pokemon and play it face down.
If I remember right, in the order of play, you must choose your Active Pokemon before you can choose any Benched Pokemon, and the steps are supposed to be done simultaneously by each player.
3. Once your opponent has chosen their Active Pokemon, you can play down any Benched Pokemon you had in mind. If they thought you only had the one, that's their fault.