I think there are solutions (if you read my posts above, I propose that desktop developers find services within their software, such as publishing/hosting, syncing, etc.) but even if there weren't, it's still an economics problem.
The economics of the upgrade-train desktop model are bad and getting worse, and the market will supply less of that. I may be proposing something not inherently appealing to you, but I think increasingly that's where people smart enough to build great software will focus their efforts.