International pressure - including sports-related pressure, bans by other countries from competing in rugby and cricket events, and a 25 year olympic ban - played a role. The international community should be sanctioning Russia to the greatest extent practicable. Unfortunately it's just not feasible to cut them off from the outside world entirely, but they should be made to feel the hurt wherever possible. It will make a difference, because non-LGBT individuals will begin to ask themselves whether these policies are really worth the economic difficulties and inconveniences (i.e., inability to travel to, or sell your goods to, Canadians).
As for the second point, I hate facebook activism too. The Joseph Kony thing is the perfect example of how fucked up stupid people are with that kind of stuff. No one does any research. And it's reared its ugly head on this issue too - the Stolichnaya protests, where people are boycotting or pouring out bottles of Stoli, is absolutely window-licking retarded. Stoli is primarily made in Latvia, so you're not hurting Russia economically, and the company itself is staunchly, publicly, proudly and aggressively pro-gay. But people's knee-jerk is "Russia bad? Russia... VODKA! Let's boycott vodka!" It makes no sense, accomplishes nothing of use and hurts the wrong people.
However, this is absolutely something that needs to be addressed internationally and diplomatically, by governments, not people on the internet. To the extent people in the USA, Canada, the UK, Australia, Sweden, wherever the hell, can make it clear to their governments that this is actually a priority, and that we want something done about this disgusting regime immediately, the pressure will result in action. 
Unfortunately, moving the olympics is probably not going to happen. Neither is banning Russia from its own games. Those would be bold, costly, incredibly difficult and downright brave actions, and it's patently clear that Jacques Rogge's IOC is comprised of as slimy a group of limp-wristed diplomatic weasel cowards as exists anywhere in the world. They'll load up their sacks of money and not think twice. But these are the kind of things that should be done, and realistic or not, everyone should be as loud as possible in support of them if only to make the silence from those cowards more jarring in their lack of meaningful response. If it doesn't publicly shame them into taking action, well, at least it'll publicly shame them.