Personally, I don't mind having a friendly rival, so long as he/she is relatively hard to defeat in Pokemon battles and has a great backstory. At least Silver had some decent backstory, with him having affiliations with Team Rocket, since his father leads them. He wanted to become strong on his own without relying on others as Giovanni has relied on his TR grunts. Blue just had a persistent rivalry with the main character since birth, according to Professor Oak. May/Brendan should not even count as rivals, as they only care about the Pokedex completion, while you collected badges. That's why they had more character development in ORAS, although not a very significant change. Barry was just goofy and had no motive behind getting the badges other than to surpass you; just like Blue. Cheren wanted to go on an adventure and collect badges to become stronger, but after encountering Alder, it's revealed that he had no idea what to do after he became Champion. Bianca was irrelevant; she battles you when Cheren is not around (except Victory Road) and admits herself that she is not good in battles. A trainer with no confidence is not worthy of being a rival. I'm not familiar with XY rivals, so I won't elaborate on them. TLDR: I prefer a competent rival with a good backstory and motive.