If the developer isn't providing upgrades then they shouldn't keep getting paid for a product someone already bought. If the argument is that developers need _regular_ pay days then we have dedicated financial instruments for smoothing an irregular cash flow.
In any case, subscriptions aren't directly equivalent to upgrade pricing even when an upgrade is provided every subscription period because in an upgrade pricing model the end user can always choose to stop paying and continue to use software they already bought.