Currently, there are a few different ways to buy software, each with their own drawbacks.
The Box Model
There's what I would call the "Box Model" where you buy software at a somewhat high price. In the Box Model, you get free access to updates for that version of the software. Eventually, the developer will drop support of the software meaning that you have to buy the new version of the software and repeat that process again to keep getting updates. But even if the developer drops support for the software, you still get to keep it on your device without any problem. Sometimes you can get the next version of the software at a discount if you own the old version, but that isn't really guaranteed.
This model is great if you buy the software the day it's released, but the closer you get to buying the software to the time of the software's next iteration release, the lower the value. If you buy the software the day before the next version comes out, you're probably going to be upset because you didn't get to enjoy that year of free updates like the person who bought it a year ago did.
The Subscription Model
The Subscription Model solves some of the problems that go along with the Box Model, but it introduces new ones. With the subscription model, you buy access to software and updates, usually on a monthly basis. The price will be lower than the Box Model at first, but you'll also lose access to the software if you stop paying the subscription.
My Proposal: The Access to Updates Model
So now my proposal. I think it would make sense if you could buy software along with a pass to get updates over a certain time period. So you could buy "Microsoft Word + 24 Months of Updates." At the end of the 24 months, you would no longer receive updates, but you would also be able to keep the software. You get the best of both worlds. There's no worry about buying the software at the right time, and no worry about losing access to the software.
In this model, companies could also add value for buying longer periods of access. 1 year would be $100, 2 years would be $150, etc. And you would always be able to buy more time to access updates whenever you wanted. If you thought you would always want updates, you could just say that you want to set up auto-payments on a yearly basis (companies would probably give you a discount if you chose this option).