I know they made Ash way too perfect, but that's how Ash is now. They tried to change that in BW and see how it ended, with Ash being total idiot. The only way to get rid of pertfect hero Ash is to get rid of Ash at all. Sorry, but that's how it is now, it's too late to change Ash's characterzation, unless they want to repeat the catastrophe BW was.
Actually, that's what Team Rocket should be, but unfortunately, with exception during part of BW, writers wasted too much time and energy to portray them as useless comic relief instead of real villains. Ash's rivals (though not all of them, there still should be at least one serious rival, which was yet another mistake of BW) should be comic relief, much like Barry was in DP, not vallain team members.
As for Ash's rivals, well I think they are now trying to give Ash way too many rivals. BW definitly overdid it, but we also see it in XY, where we already have Tierno, Trevor, Sawyer and Alan and that's already too much, not to mention they are all, including Alan, way too friendly towards Ash. In my opinion, the best rival set for Ash was in DP, where Paul was serious and strong rival, Barry was comic relief, yet still quite competent and strong and Nando was somewhere in the middle, though he was also quite unique as he was rival for both Ash and Dawn. That worked quite well IMO and I would not mind if they did something similar in SM anime too.