These coincidences happen a lot when I play.
Yesterday, on Emerald, I was training my team. It was Gardevoir's turn, but Gardevoir only knows Confusion and Psychic for damage dealing attacks. I was training in Meteor Falls, where only Zubat and Solrock will appear. While Solrock is still pretty common (20% rate), I hadn't ran into a single one while I was training my Lairon, which can deal super effective damage to a Solrock. Gardevoir was incapable of this, as it only had Psychic attacks. Well, as soon as I begin training Gardevoir, I run into a Solrock after about five or six battles. I decide to run from it, since I was certain I couldn't kill it in one hit. Turns out, the next eight (yes, eight. I counted) Pokemon I run into would all be Solrock of varying levels. I ran from all of them until I got fed up and took one out with Psychic. It only took one hit, too. After that, I didn't run into a single Solrock.
Trainers in the battle tower tend to use recurring Pokemon, such as Grumpig with Magic Coat or Carnivine with Power Whip. Because of this, based on type effectiveness and power, I was once able to predict each successive attack the opponent would use for one entire battle, including random effects, such as hitting one's self in confusion. I also lost that battle. I didn't predict that I would lose when it began, but I was able to recite each turn, move for move.
Nearly all the time, when I say to myself "I hope x happens!", x will not happen, so what I do is I'll convince myself that I hope x does not happen. I don't just tell myself, I convince myself, and you know, pretty much all the time, x will happen. If it doesn't, I wont be disappointed because it will be what I wanted, even if it returns negative results.
Also, the obligatory "Pokemon Y never appears until I'm not looking for it" story.