I can see why people hate him (I mean, there's always going to be people out there who love and hate anyone, it's just the way it is). As for Ash, he has some redeeming qualities such as being utmost determined to be the best. He may be overconfident at times and have a huge ego and make really stupid mistakes like never being able to identify Team Rocket when it's obviously them, but hey, the show needs a subplot every episode, so what?
But yes, I do like his personality. He might be a tad overconfident, but he always tries his best and he does what he has to do even if people think he doesn't make the right choices, I admire him because he decides on the choices he wants to make. But as for people hating him, logically, he should have a really strong team by now of evolved Pokemon, but he doesn't (at least I don't think so, I haven't been keeping track of the latest episodes). To some people, it looks like he's making excuses to get new Pokemon like "Oh, so my Charizard wants to be the best Charizard of all so I'm going to leave him at the Charicific Valley so he can become stronger" or "I'll just let you stay here Pidgeot because that Fearow that has this grudge against me might hurt your friends if you leave." Otherwise, as the original poster stated, he does want what is best for his Pokemon. Heck, he even thought of leaving Pikachu that one time because he thought his best friend would be happier with his own kind.
Overall, Ash has his faults just like any other character (which makes him more likable in my opinion, who likes a person who's perfect?), but it doesn't mean he has no redeeming qualities about him. Besides, the anime has been running for some time and it would be troublesome for the Pokemon creators if Ash was developed too fast because they want to milk as much money as they can. They don't really care about the older fans hating Ash as long as the young kids watch his show.