I put myself in situations where I don't need to predict, I win no matter what they do. If I have a 2 DD Tyranitar with EQ and Crunch, and their last Pokemon are Celebi and Magnezone, I'm going to use the move that KOs them, regardless of whether I think they'll switch. I win no matter what my way, but needless 'prediction' could cost me the match. This is essentially what a BP team is (and, to a lesser extent, a stall team). For the stall team example, so what if you know that my Hippowdon is using Stealth Rock? If you have to switch to Specsmence to threaten me, I get that free turn and then I can wall you indefinitely with Blissey (and depending on the move you use, possibly Tentacruel and Celebi). By using Stealth Rock, I'm improving my position, and because I have a perfect wall in Blissey, then as long as you attack me, I set up this improved position with no loss of tempo.
I don't open with anything risky (unless doing otherwise is even riskier), because doing so means that my team isn't prepared for whatever they have out. I have no reason not to Ice Beam that Specsmence with my Starmie early on in the battle, and doing otherwise, before I really know how they play, is stupid. It's essentially me saying that they may have a Pokemon that I lose to with 1 (or less) free turns. If that's the case, then the problem isn't in how I'm playing, but in my team, which means I need to make a better team.