The decline in quality has two major causes - people not willing to pay for it, and people comparison shopping by headline ticket-price. If it was just the first, the airlines wouldn't offer the option on flights, since nobody would pay for the extras. Airfare is heavily commoditized by comparison shopping, in that many levels of service get lumped into the same bucket and are considered equivalent.
I suspect that if airlines were allowed to offer a discount for not checking a bag, that amount would be smaller than existing checked-bag fees.
It is the government's place to regulate how prices get advertised. Standardizing service levels and requiring airlines to provide something like a "one checked bag + in-flight meal" price would likely ameliorate these issues.
In short, I'm arguing that discovering how much you can be expected to be charged for the in-flight extras you want is too difficult under the current system. This is a market design failure.