If this episode doesn't prove that Ash's Unova team is crap, I don't know what does. Now that the league is over, most of Ash's Unova Pokemon didn't get a single win.
Actually, half of Ash's pokemon didn't get a single on-screen win. Leavanny, Boldore, Oshawott, Unfezant, and Snivy. The others won at least one battle.
You'd be right if you did not count Palpitoad's tie over Zebstrika, but he still knocked it out.
What happened to the Ash of AG and DP? Bring him back. Even the Ash of Johto was smarter than this.
The writers had Ash win battles in past leagues using just one or two pokemon, too.
Ash vs. Macey- Two victories with a pokemon he caught from Kanto, one victory with a pokemon he caught in Johto (can be compared to Ash vs. Conway)
Ash vs. Jackson- One victory with a pokemon he caught from the same region, One victory with a pokemon he caught from Kanto. A tie. (can be compared with Ash vs. Maylene, or even Ash vs. Stephan)
Ash vs. Paul- Half of the battles were won by a single pokemon. Three other pokemon won one battle each. Two fall guys. (can almost be compared to Ash vs. Gary, except one pokemon won two battles each back then, and there were three fall guys.)
Ash vs. Katie- Two pokemon win a battle each. Two other pokemon won a single battle each. Two fall guys. (can almost be compared to this battle; Ash has two of his pokemon win twice here.)
Ash vs. Morrison- Three battles won by a single pokemon (albeit Ash's opponent didn't give his all until the end). One battle each won by three pokemon. Two fall guys. Ash probably would have lost this one if Morrison gave it his all at the start.
Ash vs. Tyson- Two battles won by a single pokemon. One battle each won by three pokemon. Two fall guys.
Ash vs. Drake (Orange Islands)- Two battles won by a single pokemon. One battle each won by four pokemon. One fall guy.
It's not a matter of Ash being a smarter or stupider trainer than he had been in the past. It's simply a matter of the pokemon that Ash has decided to use here when he faces his opponent's pokemon. How would Ash know that Kotetsu would send out a Hydreigon off the bat? At least Ash was being very smart with his battle choices when he had his Boldore (who knew Rock Smash) and Pignite (who knew Brick Break) to battle it. Hydreigon is a pseudo-legendary.
Ash fought two pseudo-legendaries in the past, and it nearly required half of his team to win those battles too. Ash had to give up Swellow, who was exhausted battling two other pokemon, and Grovyle just to have Pikachu stop Tyson's Metagross. Three of Ash's pokemon--Charizard, Squirtle, and Tauros--who were exhausted from battle lost to Drake's Dragonite so Pikachu could get a win.
I don't think Ash is the stupid trainer here. The writers didn't give him too many evolved pokemon off the bat this time, but it does not mean that his teams weren't treated as shoddy in the past. Half of Ash's victories in the past were won by one or two pokemon; many were fall guys, like some of Ash's pokemon are here.
I could complain, however, that Kotetsu only had five pokemon on him in the league. How did he even manage to get in to the league with just 5 pokemon? It's also stupid that Kotetsu sent out pokemon with type disadvantages against Ash's pokemon, which made his wins less deserving. Nevertheless, Hydreigon was a very powerful pokemon, and like those in the past, it required two or three pokemon to take it down.
Realistically, I could say that Ash was doing fine here.
Could Ash have picked a worse team for this battle? Okay, sure, Pikachu (mega duh) and Pignite were good ideas. Boldore is fair, but not the greatest. Snivy, Oshawott and Unfezant were the pits. Leavanny, Palpitoad, and Krookodile would've been much better choices. All three of them are much better battlers.
It is a diverse team. Ash has an Electric-type, a Fire/Fighting type, a Normal/Flying-type, a Water-type, a Grass-type, and a Rock-type.
Ash thought it through when he saw the types of pokemon Kotetsu had in the past. He knew Kotetsu would use a Grass/Steel type (which would be weak against Pignite), a Water-type (weak against Pikachu and Snivy), and a Fighting-type (that's where Unfezant would come in). Ash had no knowledge of the Dark/Dragon-type Hydreigon, so he had to improvise here and decided to send out pokemon that he knew that would stand a chance against it.
Krookodile would have been weak against the three pokemon that Ash knew Kotetsu would have. Leavanny might have resisted Riolu and Samurott's moves, but Riolu's Copycat (which may allow it to copy X-Scissor, which Leavanny is weak against) and Ferrothorn might have been too risky. Palpitoad was weak against any Grass-type moves Ferrothorn would have used. Then again, Boldore would have been weak against all three pokemon too, so that is probably the only "fail" move on Ash's part when he was preparing against Kotetsu's team.
Maybe it was stupid of Ash to send out Oshawott second in this battle, but it is very likely that he prepared the battling order of his team beforehand and had to send it out at that time.