I started thinking this through and here's a problem I see. If companies decide to only do business with other "good" companies, then they have to decide whether every potential customer is "good" or not. How do you define it - where do you draw the line? Do you hire another person to make this decision? Outsource it? Or maybe there's a y-combinator startup that provides an API call - isCompanyEvil(company_name).
I could have sworn CrunchBase had a metric for public opinion of a particular company, but either I was mistaken or they've discontinued it. "Monsanto" would certainly be followed by an angry frowny face.
It's a judgment call. And many, many of the free market-loving, pro-innovation people on HN judge partnering with Monsanto (and bragging about it) to be the wrong move.
The world is dirty, and there's no perfect company (or perfect people), but most people have red lines some place that they will not cross. Monsanto lies on the far side of the line for many.