Hax is undeniably a part of the game. There's no way to remove or "lessen" it without radically changing the game, and tbh there's nothing to say but "deal with it". Yeah, I know, it sucks. It sucks to lose a game when you have absolute control of a match, and sometimes it means huge losses (pfft dropped about 60 points from 1342 to 1280 something in a matter of three losses) and sometimes it means missing out on huge gains, like if you outplay someone really good. You deserve the win, but you miss out on the glory of it. So what do you do? You just scroll back down and click "Find Battle" again.
There's nothing you can do about it, really. Complain, ragequit, whatever... it's not like the other person is bending the RNG to their will. I think the key difference between a good player and a great player is that the great one has learned to minimize luck. By playing strategically, you can avoid key critical hits or status moves and seal a victory. I really can only speak from an offensive point of view because I've never played stall successfully but the best way to minimize hax is to simply know your team and have experience with it. If you know that Pokemon A can outspeed and OHKO Pokemon B but can't take two hits from it, then in order to minimize luck you should let something else die to bring it in or else you risk 'mon B getting a critical and KOing your check.
I guess the moral of the story is to not let hax get to you, especially if you start going on a losing streak because of it. Take a break for a while if you do! Luck is a part of the game (and if we wanted to play a game without luck, then that's what chess is there for).
edit: after actually reading some things other people said lol
NU is by far my favorite metagame, lol. Except you're playing on PO. :|