I don't have a solution of course. We need a revolutionary idea like the "subscription model for software", but for user happiness, maybe there's a middle way which doesn't end in poverty for the software developer ;) UX designers leaving their ivory towers to get an idea how the real world works would be a good start. Somehow we managed to turn the positive idea of an "update" into something most users are hating.