Does anyone happen to have a list of promotions that can be merged or deleted to free up IDs?
Well, in my mod I'd merged the Drill and Shock lines with Accuracy and Barrage. I deliberately mixed them (that is, combined the open melee with the rough ranged, and vice versa) to keep them equally valuable, since I'd nearly always pick the "rough" option when I played as it just wasn't hard to kill any unit caught in the open. It worked very well, especially since there was no longer an issue for things like the Longbow->Rifle upgrade, or combat classes possessing both ranged attacks and melee ones (my Titans and Myth units). I'd also merged Logistics with Blitz, since Blitz was just way too strong once you had really high-movement units (like I did in my future eras). And, if I'd bought G&K, I'm sure I'd have merged the melee naval lines with the ranged ones. The 200 limit was a real concern of mine, given how many promotions I'd added, and I'd been in the process of trying to pare down a few others when the 674 patch hit.
The problem with deleting promotions is that you just don't know all of the places they're used. What do you do if you delete a certain promotion (say, Accuracy I), and then someone adds a unit that starts with that promotion? Sure, you can add Update lines to the appropriate tables to try and fix that, but if you can't control what order the mods load in, there's still plenty of ways it can fail. For instance, consider Sentry (+1 Visibility). There's already a +1 visibility promotion (EXTRA_SIGHT_I), so it'd be easy to merge the two, right? Well, Sentry is given by traits, policies, some units start with it, and so on. So that's a lot of things to patch, and what happens when someone has Lua code that awards that promotion (which I do)? There's no XML Update command that can possibly intercept a GameInfoTypes.PROMOTION_SENTRY call and turn it into the value for the other promotion, so things'll still break.
Basically, this game's structure is NOT conducive to deleting "primary" elements (anything with an ID). Too many things will break if you delete something that other people are depending on.