Quoted By:
Game needs more core mechanics for double battles to feel rounded out.
Swiss army knife moves like Protect, Fake Out, and Wide Guard ought to be replaced with more niche versions of the same thing. E.g. Fake Out variants that flinch based on previous target, upcoming move's BP (or lack thereof), speed order, etc.
Having multiple abilities would help Pokemon fill specific roles. For example, a moderately-distributed secondary ability that negates one SE move per match.
Move complexity and double battles go hand-in-hand, but Pokemon often have difficulty running niche moves. A lot of utility moves (e.g. Soak) could skyrocket in viability by becoming 60-70 BP moves. Alternatively, moves could be given "bandwidth", and movesets could be comprised of fewer or more than 4 moves.