Good person or not, Bonds is one of the all-time greats. Even before all the allegations started and Bonds was just a skinny player in Pittsburgh, his numbers were good enough to get him into the Hall of Fame. The last 7-8 years have just confirmed his greatness.
Bonds puts up with a lot of shit, some of it justified most of it not.