Here's why I think Bonds is catching more shit:
1) Balco. Victor Conte said Bonds was using steroids. Jason Giambi said he used their steroids. Balco is under federal investegation. Bonds was almost like their poster boy.
http://www.snac.com/mag_king_of_swing.htm
2) McGwire hit 49 home runs his rookie year which was not only the most HR's for a rookie but he hit more HR's than anyone in the majors that year. McGwire was always a power hitter. Bonds was not a power hitter in Pittsburg.
3) McGwire only held the record for a couple seasons. If Bonds never broke the record and never had ties to Balco, the big story right now would be Canseco accusing McGwire.
4) Barry broke the single season HR record, and is on his way to break the all-time HR record... All this improvement came at the age where most people would be considering retirement. If Barry was hitting HR's but not breaking records, it wouldn't be as big of a story.
5) McGwire admitted to using Andro. Bonds, despite the Balco connection, despite what Conte has said, despite the increased HR productivity, despite the testimony, despite what Anderson said, despite everything still denies it. Giambi came out and apologized, as stupid as it was, a lot of the media has let up off him, especially in NY where he was getting beat up in the media the same way Bonds is. As long as Bonds denies it and as long as there are unanswered questions he will keep catching shit.
There will always be racism as long as there are stupid people on this planet... So that might be why some people don't like him... But as far as the media and the shit he's getting, there are a lot of other reasons.