In my opinion, Shane was always worse than Vic... Both Shane and Vic were bad guys, no one can dispute that, but Shane was a bad and stupid guy with less standards who had no problem crossing back and forth over the line... Vic had standards which, up until he gave up Ronnie, were perfectly consistent: he gave loyalty to those who deserved it and put himself on the line for them no matter what, and when he did all his bad sh!t he still kept the greater good of fighting crime in mind... Shane lost sight of that idea many times throughout the series.
every one of Vic's crimes fits into his paradigm of crime fighting, and loyalty protecting his family and his team. even giving up Ronnie, when it came down to it Vic's priorities were first to his family, then to his team and himself (though for the most part he put his team ahead of himself), then to getting bad guys put in jail. he would go to any length to accomplish these priorities... when it came to his family, if it became necessary he would sell out his own team to protect his family (and that's what he did, or thought he was doing)
season after season we found Shane doing the same type of corrupt sh!t but without these priorities, IMO. I don't blame Vic for what happened to Shane, I blame Shane for what happened to the Strike team. killing Lem was far different than killing Terri, according to the value system of the Strike Team... the Strike Team's value system was messed up, yes, but when you understand it you can see why Terri could be killed but Lem couldn't... why even when Vic was about to avenge Lem by killing Shane he hesitated and tried to change his mind and save him ("I'm not Shane") thoughts?