I used to think this way but there is something to fighting fair. For example, you should realize that much racist bigotry occurs because people boycott institutions that are not racially exclusive enough (i.e. "white" enough). So it is ethically a bit nicer to raise the issue for discussion instead of immediately punishing a business "without due process." Granted sometimes you are convinced "beyond a shadow of a doubt" that a business is corrupt and you just can't stand to contribute to it by being a client, but also realize that legitimate businesses can be harmed by public campaigns created to scapegoat certain businesses to foster success for their competition.
Heroic to whom? Let's face it, everyone commits actions that are beneficial to some and detrimental to others - so everyone is a hero in some ways and a villain in others. The best we can do is try to maximize benefit and minimize detriment as much as possible for whomever possible, including ourselves.