The IOC should do whatever it can in Russia regards to its anti-gay laws. Inequality anywhere is inequality everywhere. It is unethical for the IOC not to take some sort of action against Russia for this human rights issue. Anti-gay laws should not be tolerated or accepted by anyone in the IOC.
The IOC selected Russia to host the Olympics knowing what its laws were. The IOC can't and shouldn't try to change the laws of a nation, even if they disagree with them. Also, the IOC is supposed to represent the whole world. Most countries are anti-gay. If the IOC tried to put pressure on the majority of nations because their laws offend some Western European and American activists, it would be a sign of incredible bias. That could lead to another Olympic boycott (anti-gay countries might boycott an Olympics held in a pro-gay country).
No, the IOC should not to anything to help avoid misfortune in the 2014 Olympics as far as Russia's anti-gay laws are concerned, because the IOC selected Russia for the Olympics, even knowing that Russia has some customs that are not considered mainstream. The IOC cannot start changing laws in countries after they allow them to host the Olympics.