Right now we have a path for some non-forced upgrading via the latestTestBuild element of the version JSON and the isTestBuild flag in DefaultUpdateDisplay, but this is intended for beta / testflight builds only.
It would be useful to have a more general version of this that could be used in production, the idea is that there would be a second minimum version and list of blocked versions (suggested names deprecatedBeforeVersion and deprecatedVersions, but that would give you a warning dialog (maybe only on some frequency, like once a day or something?) that CAN be ignored and continued through.