Corporations can do whatever they want within reason, but it would be in their interest to protest the Russian anti-gay laws. There are LGBT individuals in all industries, and it would be very degrading to work hard for a company that doesn't have your back. They should protest against the laws.
Absolutely the corporations that are involved with business in Russia, and specifically the Winter Olympics, should have protested Russian anti-gay laws. But they didn't, because they're cowards, and they put too much money into the country already. A great opportunity to force Russia to lighten up was lost because it might hurt profits.
If people protest an idea so hard that people are aware that there are two sides, then they are ultimately giving a sort of legitimacy to the 'other side' of the argument - in effect, strengthening them. If a company tried to 'send a message', it often only strengthens the opposite side's very incorrect stance.
I do not believe corporations should protest Russian's anti-gay laws. I believe corporations should stay out of politics entirely, but especially when the matters have absolutely nothing to do with them. On one hand we complain about corporations lobbying in government and taking over and then we want corporations to take up social matters when they enter politics, seems a bit hypocritical to me.
No, corporations should not protest Russia's anti-gay laws, because Russia should be given time to catch up. The laws that Russia currently has are no different than most people in the United States believed 30 years ago. If Russia is left alone, and we continue to put things in place that allow their economy to develop, Russia will come along on its own. We do not need to make them angry with sanctions.