The problem is one of incentives: In the software industry, we frequently prioritize building new features over everything else. Because software is (generally) unregulated, customers have little recourse when that new feature malfunctions.

The solution, which is probably unappealing to most people here, is regulation. Other industries have to work within regulations: I once bought a car with a problem that the manufacturer could not fix, so they had to buy it back. My appliances have to confirm to energy efficiency regulations. The regulations fix the incentives.

Perhaps a combination of regulations that block new features while there are outstanding bugs, require refunds if those bugs aren't fixed (or payouts for add-supported software,) and energy efficiency will go a long way.

(And, before you laugh at me, remember that if we can't self-regulate, regulations will be imposed on us.)