Sure, that sounds simple and all, but how do I get better at prediction? I mean, I know standard sets, but then there are the mind games.
Knowing pokemons strength weaknesses etc. is one important key.
Know what their best stat and weakest stat is, doesn't have to be exact. As long you know that say Heracross is weaker on its physical side than its special side.
Know at least what its main attacks and role is. As in the case of Electrics you can almost always expect them to be packing a Hidden Power making alot of Ground types non-definite switches.
Another is you have to think like your
opponent would but only abit more ahead, if you were in his scenario what would you do. Predicting is difficult but find ways to ease prediction if your bad at it. Use scouting moves like Protect, Substitute if unsure.
Or always predict a worst case scenario and use safe switches. By 'safe switching' I mean two things.
Sure if you switch a ground into a electric attack you'll ignore damage altogether. But if they decide to Hidden Power Ice/Grass you might regret it, instead you could switch in another electric who still takes minimal damage and at best only takes neutral from HP.
Safe switching can also be predicting a attack and switching in a resistance than switching again to something strong to to what your first switch is weak to in order to bait out any counters so you don't lose a pokemon unnecessary. If your bad at first turn safe switching than you can try a two step version.
The final thing would be just play more people, I cannot stress how important this is. It doesn't even freakin matter if you know you stand no chance of victory and will be trounced 6-0 by a pro. Once you been destroyed you see how they did it and figure out where you messed up and don't do it next time.
I don't know how many times I've seen new players left stranded because they expect the same 6-9 standards stressed in Analysis/Guides and once they see something new, don't even have a remote clue how to deal with it.
This leads onto getting to know your own team. Sounds like an odd thing to say considering you've spent hours on it, training, raising, teaching moves. More specifically what I mean is take that team into battle, let them take and dish out hits.
Work out roughly how much damage your doing doesn't have to be exact, how effective some of your strategies are and how often can you actually execute/startup some and how easily you are stopped. This is really important as sometimes you may lack options in certain scenarios.
In these cases you maybe force to switch in something you know will die or isn't effective based on the knowledge you'll at least be able to attack to change the flow of battle even slightly.
All that is simply summed up as three points.
-Know the pokemon
-Know your opponent/the strategies
-Know what you can and can't do.
That 3 can be further narrowed down to simply experience..it should come instinctively really.