I take Ash's losses more as the result of writers sabotaging him then any fault of his own. The executives behind the Pokemon anime had it very clear that as he is will be the main character, he is not allowed to win a tournament, even though fans want to see him win. Originally there was a plan for him to be retired as the main character after the Sinnoh League, but then for whatever reason the decision was reversed. Before this the plan was that Ash would win the tournament but then with the decision made to keep him as the main character, somebody just said "okay we need to find a way for Ash to lose and fast!" That is why Tobias, a character who was never even mentioned before, shows up out of nowhere, just to cause Ash to lose.





That is without getting into nonsense like Ash losing a match against an opponent who was stupid enough to only bring five Pokemon to 6 vs 6 match, or his rival managing to get eight badges at moment's notice despite it taking Ash the entire season.





Ash doesn't keep losing in tournaments because he isn't good enough. It's because the mandate that he has to be kept as the supposed young and inexperienced trainer means he isn't allowed to win, so the anime can keep repeating the same formula over and over again. Except Ash by this point trying to pass Ash as an inexperienced trainer has about as much credibility as trying to pass Goku off as a novice fighter. Going estimates I have seen the amount of time that has passed in universe, Ash has spent several years as a Pokemon trainer. He has made to the Pokemon League in each region, making it very far each time. He is not an experienced trainer anymore, no matter what the plot says about him.

