a) Universal sales tax within the state. Allow local governments some other varying taxes (such as income or paycheck tax)
b) Put small bracket under the price “(includes 9.5% sales tax for zip 98210 <a>change location</a>)”
In general though I think physical storefronts would be the shoe in. Virtual might require more thought or even changes to how we do taxes to make as much sense.
Many stores like to pre-tag each product package, either at the store or manufacturer- you couldn't do that if the tax had to be included in the price as the stores have many locations each with different tax rates. (I do think the tax rates should be prominently posted at the door).
Sales tax compliance is already a massive PITA for retail stores. Making them include the sales tax on the tag would just be an even bigger PITA.
Yes, it can get a bit more complicated for internet based stores, but even there they do already know how much to charge at the payment step, so again I say that it is a (customer hostile) choice not to show the real price up front.
On the shelf, yes, but then what's on the shelf wouldn't match what's advertised on the Internet, in the paper, on TV and radio, etc. Because each city can have its own sales tax, and each state can have its own sales tax, if you're, say, McDonald's, you can't say a hamburger is $3.00 in your TV ad because it'll be $3.18 in Michigan, and $3.30 in California, and even within the states, it can vary by city, if I recall correctly from my cash register programming days. It's a stupid system all around, but it does actually make it harder to do what everyone wishes they would do.
That really sounds like a McDonalds problem. Why should everyone put up with a bait and switch so huge companies can have an easier time advertising? If they need to advertise a 3$ burger all over the country, then they should be ready to pay the cost differences of providing that burger everywhere.