True, Giovanni did let Team Rocket use his badge and Pokemon, but Giovanni is not the most scrupulous of people. I think its highly unlikely that he was supposed to turn over his gym to somebody who has no training at all. Similarly, the Sensational Sisters probably weren't supposed just give out badges to trainers without even going through the motions of a battle like they originally wanted to.
Yes, I think it is fair to say that Ash probably could have won some of the battles if he had not been interrupted. But unfortunately, since his battles with Brock and Misty were never completed he did not officially win anything. He technically gets the cascade badge for saving seel, not defeating a gym leader.
Saying all that I don't think this makes Ash a bad trainer, but having too few badges is a reason why a Pokemon may disobey. Its still my theory that because Ash did not always have outright victories he may not have fully unlocked the power of every badge. However, I'm open to debating other possibilities too.
I agree Ash most likely won against Brock had he continued, though I can't say the same about Misty (we really don't know how that would have turned out. Yes, Starmie had its life limited, but it was also right near the pool, so all it really needed to do was dive in to the pool after dodging Pidgeotto and then it would regenerate, like Staryu did. Even if I weren't a big fan of Misty, I'd probably still be saying this, largely because I remember how Ash managed to own Ekans, Koffing, and Meowth's butts with his Caterpie despite it obviously being in very bad shape thanks to Pidgeotto earlier and his stupidity in having him fight it, and realize that Misty may pull something similar.). I'm pretty sure Ash would have lost against Kadabra again had Haunter not interfered though (since it DID regenerate from a very high-powered thunderbolt). As far as Erika, well, like Misty, that probably could go either way.
So far as Misty's sisters, to be fair, they did apparently attempt to actually battle the other three Pallet challengers prior to Ash, but they not only got utterly creamed, but, in the case of Gary, he rubbed their loss in their faces, so by that point, they went "screw it" and proceeded to just hand out badges. But yeah, they definitely were incompetent (that being said, no matter how incompetent they were as Gym Leaders, they're professionals compared to Brock's family, especially Lola and Flint. Just look at A Family that Battles Together Stays Together or Grating Spaces and you'll see what I mean by that. I'm honestly surprised after what Lola pulled that they DIDN'T shut down Pewter Gym.).
And yeah, Giovanni definitely wasn't scrupulous by any stretch (though I'm pretty sure even he, no matter how desperate, would not have handed the gym to people who were grossly incompetent at the job).
Personally, I'd suspect that Charmeleon started disobeying Ash when the latter told him to throw a fight against Paras, considering he didn't show any issues against Ash when he evolved into Charmeleon in the first place, or even when Ash had him try to fight Jigglypuff.