Of course you should export 15.05 UAV settings using 15.05 GCS before doing anything, so you can get back to what you had before. I will call this file old.uav and it is a requirement for the rest of this post.
Then run 16.09 (or even go to a recent developer version called "next"). Upgrade and Erase the FC. Do not do anything else (like run setup wizard). Then, export these default settings. I will call this file default.uav. I would back old.uav and default.uav up somewhere so you are not tempted to modify them and so that you can get back to them if you need to.
Then copy default.uav to new.uav so that new.uav is just the default settings to start with.
Note that these files are human readable text files. Most of the lines begin with "<field" and look like:
<field values="0,0,0" name="accel_bias"/>
or
<field name="accel_bias" values="0,0,0"/>
These are the same, but the second kind that begins with "<field name" is much easier to work with. So much so that I wrote a Linux shell script (called uavofix, attached to this post) to convert from the first kind to the second kind. The problem is that when you export, GCS outputs them in one order if they have (that object/section has) never been set and the other order if they have been set. I think you can also get around this by importing your default file and re-exporting the default file so that all objects and fields have been set, even if they have just been set to the default value.
Then edit both old.uav and new.uav and look at each line in new.uav that begins with "<field", find the corresponding (maybe exactly the same object and field names and maybe something similar with no exact match) line in old.uav, and copy/paste the number or numbers from old to new. Beware that some fields have simply been renamed, some things have had their capitalization changed (critically important), some things have been added, and some removed. That is tedious, but it works.
You can cut your work in half or better if you look at the "<object name" (section titles) and recognize those sections that you know you don't use / didn't change. For instance, you probably don't use this:
<object id="0x8E30D4B4" name="CameraStabSettings">
<field name="MaxAxisLockRate" values="1"/>
<field name="MaxAccel" values="500"/>
<field name="Input" values="None,None,None"/>
<field name="InputRange" values="20,20,20"/>
<field name="InputRate" values="50,50,50"/>
<field name="StabilizationMode" values="Attitude,Attitude,Attitude"/>
<field name="OutputRange" values="20,20,20"/>
<field name="ResponseTime" values="0,0,0"/>
<field name="GimbalType" values="Generic"/>
<field name="FeedForward" values="0,0,0"/>
<field name="AccelTime" values="5,5,5"/>
<field name="DecelTime" values="5,5,5"/>
<field name="Servo1PitchReverse" values="False"/>
<field name="Servo2PitchReverse" values="False"/>
</object>
Another thing that can cut the work down is if the object id matches in old and new, you can copy the whole object (just copy all field lines) from old to new. For a change as large as 15.05 to 16.09, you probably won't find that (matching object ids) much if at all.
Another thing that can cut the work down is to just copy several lines at a time when you see several field names in a row that match in old and new (be careful of capitalization, like from FALSE to False for instance).
The thing that cuts the most work for me when there is not much difference in the old and new versions is to have two text editors set up so that you can switch from one to the other with a quick keystroke, or one editor with both files open and again able to switch from one file to the other with a quick key stroke. Start with exactly the same line at the top of both pages and quickly toggle back and forth many times (of course, the old and new windows must be exactly aligned too). This blink test will make any difference stand out. This is the way some planets etc. were found because they move when looking at two photos where the stars didn't move.
Watch for errors and warnings when you import. If you did it right, there will not be any at all.
For your temperature calibration, you could start with default settings, do a quick (but successful) tcal, export, compare export with default export (using a text file comparison utility). This will tell you which objects and fields changed. It is NOT just AccelGyroSettings. If that is all you are interested in, then you can copy just that data from old.uav to new.uav and import new.uav.