zwzsg's ideas seem awfully complex. You shouldn't need to build entire unit suites for a simple unit upgrade. And to script these things would be absolute nightmares for troubleshooting purposes.
You shouldn't, but right now, unless you can call a conditional secondary script element and use multiple files to build modular variants of the units from multiple files and then force an animation adaptation for visual changes... this is only one more step than that, and that isn't an option.