You say it protects one side, then list how it protects both sides. Not sure what else to say there.
Dick's isn't an issue. If you don't sell assault widgets to anyone, then you aren't discriminating...you just don't carry that product. I'm not advocating McD's makes you a taco if you order one. I'm advocating anyone with a dollar (and tax) can buy an item off the dollar menu, regardless of politics, race, religion, occupation, etc.
As far as why can't businesses choose like individuals can, businesses aren't people and do not have the same rights (despite creep in that direction). Businesses can't claim freedom of association when merging a forming a monopoly, for example. Why can't banks band together and decide to not lend to firearms companies or process credit card transactions for gun stores?
Somebody probably shut down their restaurant rather than let everyone sit at the same lunch counter. When you assign a moral component to a commercial transaction based on who the customer is, that's a risk you run.
^^^^ This. Right. Here.