Okay, so the clonedefs are there to do a few things:
1.) Shield:
Shields cannot be dynamically controlled via lua (yet) so area vs personal shield need two defs.
2.) Lazarus:
This is mostly due to the unitdef tag "canResurrect". This just simplifies the code a bit I think.
3.) Jumpjets:
This seems outdated. You can inject the jump command and dynamically control range/reload (in fact FW does this already). This is because jumpjets are completely lua. I just made entry points for them to be changed on the fly. In fact, I could potentially tie JJ range / reload to jump distance. It would not be too difficult to do this lua side.