How can we stop fred phelps and his church?:
Well, here are a few ways:
1. Don't cover his hate-mongering on the daily news.  The whole reason that "church" keeps going is because they get publicity.  Complain to TV stations that cover them.

2. If you are at a funeral or event where they are present, either tell them how much their actions hurt and offend you, or stand in front of them with your backs to them.  You have the right to do this from the 1st amendment, just like they do.

3. Support organizations, such as PFLAG, who work against discrimination, bigotry and homophobia.  Support the same causes yourself.

I tried to limit my answer to things an individual can do, vs. staging a counterdemonstration and other things that require lots of people and money.
Thanks for your thoughtful question.