Out of my experience, I would have to say Wally. He wasn't really weak or anything, and he was often quite fun to battle, but he never really seemed to have the confidence of a good trainer, so he never really felt like much of a rival. During most of the game I actually believed he was just a side character that you'd only have to battle like twice or something to give other characters a part too, but I kinda realised that wasn't the case after a few battles. But as I said, taking in a lot of other games, he wouldn't really appear to be weak, except this game's difficulty was ridiculously high above the others. I remember at one point I was fighting to get through the Victory Road, having a hard time against the trainers, and standing at the exit with only like two Pokemon left... and then came Wally. I was so annoyed that I most likely had to lose my money and had to go through the entire cave again, but what do you know, I breezed through his Pokemon like they were nothing. How he even managed to get through is indeed a question to me, and I didn't feel like it was much of a final battle with you rival, but considering how I'd probably had laid the game off for a while if I had lost, I guess that was mroe of a good thing. In the end, he could use some improvements to his team, but I guess it's actually his character. In the beginning he was just a small and weak boy with no confidence at all, seeking the help of your character, and throughout the game you helped him mature. In your final battle before you try your luck against the E4, he still hadn't exactly become the strongest of trainers yet, but he kept on getting stronger and stronger ever since then, eventually actually putting up a good fight against my Pokemon. So while he in a sense could've had improvements to his team, I think it added more to his character that he didn't get those.