You can create upgradeable saves. If you store a version number in the save, you can later add all missing things to it.
When a user loads a save with version 11 in a game that already uses 17, your upgrade function can upgrade it from 11 to 17 by going through all intermediate versions. The next time you make breaking changes, you set the version to 18 and add the necessary upgrade steps from 17 to 18. This can range from giving the player stuff, taking stuff away, respawning him in a safe place if he’s in a location that no longer exists, etc.
This means for example, if you add a time limited event to version 16, any save before that can be made to have the date forcibly set back enough to be able to experience this event. You may want to tell the player when you change stuff. Belial could be used for this, as his scene is designed to not softlock the player.