If permissions could be granted not ahead of time, but rather when they're needed, you could simply update the application and just ask for permission when the new functioanlity was actually used.
That's Apple's system, right? Android does have a different one. Fortunately or unfortunately, I'm not really sure. Android's system definitely has advantages as well. But it goes without saying that there are serious issues that must be fixed.