Here we go again. It seems like a lot of states are going to attempt to pass legislation like this sooner or later, and if it doesn't pass one year they'll try again the next year in the hope that sooner or later it'll pass.
What I believe it's going to take to stop these bills is to make the citizens of a state that chooses to pass these kinds of laws pay. If lawsuits get filed, corporate relocations happen, loss of tourism and convention dollars happens, and federal funds dry up the state's taxpayers would be on the hook for covering the state's budget shortfall. If the people of a state want to step back to 1950 and endorse bigotry then I think it's entirely fair that they should be willing to pay the cost of doing so.
Hitting a state in the pocketbook is pretty much the only way to get their attention.