Look these "mods" are actually changes to strings with data file stored as text. A string can be parsed and rewritten. In fact you can cut and paste whole strings (or sections of string into these files). If you look at typical string from one of these text files. They kinda look like this:
EnemyWaypoints=-20,0|20,0
That
enemywaypoints thing is DataPoint, and the numbers after it are used to populate values** in a database the game engine uses.
If we had a list of required data points for each type of data (Subs, Weapons, etc.) then a somewhat simple* program could be written and distributed as an app that would create a New Temp Overwrite folder, with the necessary sub-folders and text data files to be written to a desktop folder, say "CW Temp" and the user would be responsible for moving that overwrite folder in or out the location where the game was running from.
In fact the same sort of thing could be used to create a "Single Mission Generator". that would be based upon this New Temp Overwrite folder, so that the user could start right in playing with the "new" data.
*
**If you look in "Weapons.txt" you'll see that just about all of various weapons will have a Datapoint and value for warhead size in (I assume pounds). Has anybody tried increasing that size, say on a MK48 to say somewhere around 22500 (about the size of 1/10th of a KT)?