I can't even begin to pin down what the "perfect meta" would be like, but I could think of a few general rules to follow for a balanced game.
1.) Benchmarks for damage should be set in advance in preparation for new sets. Right now, the damage benchmarks are 70, 130, and 240, and future attacks for Pokemon should be designed with those benchmarks in mind.
2.) Every type should have some form of reliable Pokemon search. Universal search options like Ultra Ball are nice as well, but leave themselves wide open to abuse if left in the game for too long. Universal search like that should only be included when type-specific search options are too slow or too weak at the time. Pokemon Communication would be an example for balanced universal search and Electromagnetic Radar and Net Ball are examples of balanced type-specific search.
3.) When making new Pokemon with abilities from the old days, it should be kept in mind what made the old Pokemon popular in the first place in order to avoid similar mistakes. Weavile-GX going into the new rotation is a sign that this message was taken to heart with Max Potion and Acerola leaving.
I think going into your third point, trainers back it the day weren't as powerful as they are today so the good draw and search abilities balanced out and Max Potion is leaving? I may buy a few SR Max Potions when they rotate.