Here's the problem we all face: you use an app and pay for it and every so often you drop some more cash on a major upgrade. Then the developer decides to go the subscription model and what they want per month exceeds the value and utility you get from the app. Yet there is no good replacement for the utility you glean.
Let's be clear: unless the developer of the app delivers more value and utility quickly under the subscription model (where subscribers are paying more) and keeps up a reasonable pace, the model only benefits the developer. It might benefit the platform, like Apple and Google (I don't know much about that bit.)
Now the app developer moved from selling a piece of software to providing a service. The service is fixed and finite in the scope and capability of the software, but that is the very service being sold.
I like the idea of a staged subscription model. It might be cumbersome for the developer, but I think it works out best for the user.
The idea is that n-1's development is already paid for, so use it as a way to introduce people to your product. Version n should be paying for its upkeep and maybe some small piece of future development where the subscription option is very much about the next version.
Release timing is important. In this model I would expect a new release every 12 to 18 months. The subscription model always moves to the next release, the flat fee pays to move to the new release (maybe at a discount for a limited time) or else goes to the free release. Free folks always upgrade to the free release.
All of this is predicated on the developer having a solid business plan and that the Apple App Store can accommodate all of this in a useful way. Please feel free to adjust and fine tune or point out where I am wrong.