One of the best aspects of the Pokemon games (particularly the first two generations) is that you have another character around your age that is starting out on their journey too. Most of them are cheerful and sort of drop out of the battling scene once you've absolutely floored them for the nth time.
All of that starts to change when he meets Lance (the Champion) in the Rocket's hideout. Lance tells him that he needs to start treating his Pokemon with kindness instead of using them as tools of destruction. This resonates with Silver who, for the remainder of your trek through Johto, begins to question his purpose and way of life. Finally, when you've made it to the Pokemon League, he challenges you again, but this time there's no hostility. Later he even teams up with you for a double battle and his Golbat has evolved into a Crobat (which only evolves with maximum happiness, signifying just how far he's come as a person.
In a special event, you go back in time a few years and watch Giovanni (the former leader of Team Rocket) abandoning Silver, who turns out to be his son. This both explains Silver's resentment towards Team Rocket, and makes you really sympathize with him.
Witnessing Silver's transition from a total punk to a respectable trainer is a great experience, and it's things like that that make the Pokemon series so great.