anthropologically, there is no reason for homophobia in the first place. Gay men remove themselves from the mating pool, leaving a wider variety of mates for straight men. If you look at it from a strictly scientific point of view, there has never been a cause for homophobia. Religion is the only cause of homophobia. Proof of this is found in ancient Rome. Before the Catholic Church showed up and wiped out pagan religions, the romans held a very liberal view on sex and sexuality. After the church took over...well...
So no, homophobia has no place in society, it never has. Another question is, in our ever evolving, scientifically intellectual society, does religion have a place?
My philosophy on this is "love the sinner, hate the sin." I do not hate gay people or anything like that, though I believe it is wrong. I understand that it is usually a chemical imbalance/brain problem, and they can't help it.
As long as they are not harming anyone then who cares what they get up to. What about Jesus. I wonder if he was gay, what with going around with all those other men. Not being married or having a long term girlfriend. That's why they have a go at gay people. They can't bear to think that the saviour might have been one of the OTHERS!
Homophobia should not exist. So should not stupidity (well, homophobia is extreme, pretty much terminal case of stupidity, but I digress), yet it exists. Sad thing but society has no balls (and I means BALLS) to shun stupidity and make stupid people in general responsible for their actions. Why, I have no idea, but I know it would solve the problem, because there are two general forms of stupidity. 1. From lack of knowledge that can me cured by education, simple as that - showing people why they acted stupid and how to fix that. 2. Stupidity from choice and ignorance - this is terminal case, and if shun at least it would not have voice and die out eventually - it would take a while though, stupidity tends to be persistent disease.