You have to demonstrate that a problem exists before you can solve it -- in cases like these, it's pretty obvious there's a problem, but few people are acknowledging it or actively trying to do something about it.
Regardless of how you try to spin it, the people who attacked him are obviously in the wrong. It's not a matter of whether or not he 'will' be attacked, but rather whether he 'should' be.
The answer is, of course, no, he shouldn't. It's pretty clear he knew what was going to happen — similarly, if I go into a homophobic neighborhood and sing songs of praise for gays, I know I'm probably going to get beaten. Even so, I'm not at all in the wrong. "I beat him up because he stated his opinions," is not a valid defense.
Even knowing he was probably going to be attacked for saying something contrary, he continued nonetheless. Instead of tip-toeing around muslims and making a mental note to treat them differently, he actively opposed such a thing.
If there's a neighborhood where all gay-rights supporters are beaten when they walk through, you don't think, "Well, they shouldn't have walked through there," — you do something about it. You bring it to people's attention and do something. Anything but ignoring the problem or waiting for it to 'blow over'. When we start making concessions that impede our free speech, they've won.