Over time we’ve developed a method for dealing with situations where (1) we don’t want poor people to be denied access to something essential, (2) we don’t want tax money to be wasted on substandard products or services, and (3) we don’t want poorer people to subsidize richer people.
That method works like this. Poor people demonstrate that they can’t afford to pay for X. We let them choose a private provider of X, who meets basic standards, and we give them money that can be spent only on X.
If X is medical care, we call that Medicaid. If it’s heating oil, we call it LIHEAP (the Low-Income Home Energy Assistance Program). If it’s food, we call it SNAP (the Supplemental Nutrition Assistance Program, or Food Stamps, or EBT cards). If it’s housing, we call it Section 8 (the Housing Choice Voucher Program). And so on.