The ban is specifically on adjusting prices _per-consumer_ based on data known/collected/stolen/assumed about the consumer.
There is a market solution to this - don't shop at places which do it. If I go to the supermarket and they jack up the price of bread because I'm in a rush and 40 something wearing a suit I'm likely to spew venom, pay that one time, and never, ever come back.
What? To the best of my knowledge, not a single grocery store chain in my area is owned by someone local to the community. The two biggest chains (that aren't Walmart) are owned by Kroger and by an international retail conglomerate. Both are publicly traded, so there's no single owner to give a shit about the local community.