Ash is not a bad trainer because he can't do what you do in the game. He's bad because he doesn't do the things you obviously should do to be competitive. If you believe a poke can get stronger, shouldn't you, oh I dunno, ACTUALLY LET THEM GET STRONGER? This is what holds Pika back, because he refuses to evolve, and it's doggone stupid. One needs to realize once they've reached the limits of their abilities and either live with them, or try to surpass those limits. (if not possible, then you just live with it) This is a flaw I see with the premise of the franchise in general, though. You don't have to be the best, just good enough to be useful.
Believing is not doing. He's gotten better at actually training and junk, but he only does it if the situation calls for it. No. You have to be prepared for EVERYTHING. You train even if you don't have to. You find flaws and correct them. You can't just make up stuff on the fly. True, that is a usefull skill to have, but it should be used for training as well. Think of everything that could you could possibly run into and think of a way to deal with it. True, one cannot think of everything, but that's what experience is for. You don't stand there, you observe. Watch what you're doing AND what your opponent is doing. You might learn something.
True, type alignments don't mean as much as tactics, but it's still a wiser stance to take. Why put yourself at a disadvantage when you can easily use their weakness? For the challenge? Yeah, of course something's going to be hard if you purposefully make it difficult when it doesn't have to be. You might as well render all your limbs and make yourself both blind and deaf and see how far you get. You'll prove nothing other than being a giant show off.
Also, Ash is way too much of a loose cannon. He actually lets people goad him into things. Words are nothing. If you truly thought yourself to be good, then you wouldn't have to prove anything.