It depends on the game, and what I feel like doing. My main rule of thumb is to not use pokemon I’ve used before, or use frequently.
Regarding overleveling, I always just compulsively switch train my weakest pokemon, even or my first runs. It’s really just something you have to get used to. It’s sorta the same mindset as item hoarding. It doesn’t matter if there’s an obvious way to win now, it matters that there might be a need for my team to have other strong members later. Therefore, they always need to be trained