As with so many things, the decision not to attend often comes down to personal choice. Increasingly, I find that people put their own personal convenience first, and ignore the impact on others - whether that is the cost to the NHS, or to the hassle for others who were planning to do something social with them.
If we all know at the time of making an appointment that the onus is on us to attend or pay, it is our choice whether to keep it or not. There are always text and email reminders for appointments, with options to cancel or change the appointment, so if something does crop up people can use them, so there should be no need for judgement over what is an acceptable reason or not - either you go or you don't.
Appointments not made by the patient should be exempt until they confirm them, and if there is no confirmation before a given time (eg 2 days before) the appointment should automatically cancel. That way, appointment letters that arrive late, or arrive to coincide with the patient being on holiday etc, will be provisional until the patient has seen and agreed to them. Appointments show up on the NHS app, too, so people could confirm them on there if they are not in to pick up a letter - I find that I am notified by text of letters before they arrive.
Any charge should, IMO, be applied to all. If we start means-testing there will be those with carte blanche to please themselves, and others with only slightly higher budgets who are penalised.
As regards paying for meals, I am less sure about that. Personally, I would much prefer to pay for something I enjoyed eating, but wouldn't want to see anyone unable to afford a meal - particularly when recovering from an operation. Maybe having a free option and a 'premium' one would work, with patients having a choice? That might not be practical, but it could bring in some money without disadvantaging anyone.
One thing I would like to see scrapped is high fees for watching television. People lying in bed all day have little else to do, and charging them a lot to watch seems unreasonable. Most will have a TV licence anyway, if that makes a difference.