Hi - this is a great scenario for using content types. You can set the form library to use content types. Publish the form as a content type, set the library to default to that. You can relink the forms as needed from the relink view, if you have an existing library that you need to change over.
Then, when you make a template change, publish the change as a new content type. Set the library to use that as the default content type. New docs will use the new content type - old docs will keep using the old one.