The first post on this is right before this one. It was generated by an announcer saying something like "Sosa hit alot of HRs in when the scored was one sided."
I thought of another way to look at this. In his career, Sosa had the following HR%'s in various situations. Data from Baseball Reference
Tie Game 0.0642
Within 1 R 0.0669
Within 2 R 0.0676
Within 3 R 0.0669
Within 4 R 0.0668
Margin > 4 R 0.0842
So, yes, his % his much higher in games when his team was ahead by more than 4 runs or behind by more than 4 runs. He had 1139 ABs in those situations. What if he had had his "Within 4 R" HR% in the "Margin > 4 R" ABs? He would have had 76 HRs in those cases instead of the 96 he actually had. So he would lose 20 career HRs. That would still give him 589. Notice that his HR%'s in other cases are all pretty close together.
What about from 1998-2001? Using Baseball Reference again, here are his HR totals for each season followed by how many he hit in "Margin > 4 R" cases preceded by the totals for the 4 years
So 18.1% of his HRs were hit in "Margin > 4 R" cases. What about the entire NL for these years? Here is the same thing for the whole league
The league hit 15.75% of it's HRs in "Margin > 4 R" cases. What if Sosa had the same %? Well, 15.75% of 243 is about 38. He actually hit 44 in "Margin > 4 R" cases. So we should take 6 HRs away from him. That would leave him 237 for the whole 1998-2001 period, still an amazing total.
Now 38/237 = .16 or 16% of HRs in "Margin > 4 R" cases. If I dropped him down to 37/236, it would be .1568. So a loss of about 6 HRs is fairly accurate.
So, bottom line, if Sosa matched the league average in when he hit HRs according to run margin, he would not lose very many HRs. How could anyone fault him for this?