Split your system into two files: a data file that holds all your data tables and data level relationships such as those you need to support a calculation field that draws data from a related table and an interface table for layouts, scripts etc. The relationship graph on this second table uses external data source references to link to the data file. Since most upgrades invold only changes to the interface file, you can now distribute such changes and the user only has to replace the interface file with the updated copy.
Write a script that imports all data from all tables in the old copy of your filemaker file into all tables of the new. Include script steps that also update the next serial value of all auto-entered serial number fields as well. This script can be devised so that the user simply clicks an update button, selects the original file in an open file dialog and then the script does the rest--this can even be left to run overnight with systems that have large quantities of data in them.