It is done all the time, and with good reason. The Commerce Clause specifically covers interstate commerce, airlines enjoy a controlled commodity giving them special privileges (and considerable protection from competition) because of the federal government. Those two factors take an airline out of the usual situation of a business, where state laws and state constitutions are usually more closely related.
She was harmed in that she had already paid for her ticket. She was in clothing that she had already flown in that day, and was faced with a cram down -- buy something, or accept a later flight that would have gotten her home at a time later than the service she had paid for. To this day, she has not been given cash back, she has been given a credit with the airline you say she can simply not fly with ... they took her money and delivered service other than that which she bargained for.
Actually, I can. I wasn't wishing, I was commenting on the actual, current state of the law, see the first part of my current response.
See
https://www.law.cornell.edu/supremecourt/text/326/501 and
https://www.law.cornell.edu/supremecourt/text/391/308 for examples of how the current matter might be attacked. What distinguishes airlines from the later mall cases is that no one state constitution covers them as they pass through the airspace of several states, nor is there an adequate alternative like picketing on a public sidewalk. Constraints of time, possibly also licensing and physical issues, leave little choice but to fly on an airline. They are the streets of our modern era. As I noted, a passenger buys a ticket in good faith, with no disclosure that they've damned near bought a lottery ticket. To leave enforcement of something like clothing a random choice borders on fraud. As a side issue, had she been wearing certain cultural/religious garments, ones that might have scared or offended passengers, the airline clearly could not act in the same way (it has, however, been tried), as a personal expression why does her choice merit less protection?