For ongoing series / franchises (one of which is still going 20+ years on !!) I do some combination of the following:
• Use only Logic's stock plugins as much as possible. EXS-24 / Logic Sampler, stock synths / compressor / eq / reverb / delay. That's why I became a Jedi at converting Kontakt to EXS....
• Expanding upon that thinking, I try to use "big-name" plugins that aren't likely to go away too quickly as much as possible, like Waves, UAD, etc. Omnisphere still loads correctly on decade-old projects. Kontakt too for the most part.
• For any tracks that use non-stock instruments + plugins, I get pretty thorough with saving the presets individually from each instrument + plugin, as well as a Logic Channel Strip Preset that contains the whole strip. I make a folder inside each project folder for the Channel Strip Presets, as well as sub-folders for each plugin, then save them in both Logic's preset format as well as the plugin's native preset format, and I get pretty detailed with naming those preset files. Say I had a cue called "SAW3-2m11v2-Dog Trap v2" that had track #72 using Omnisphere through Waves Omni Channel and UAD Tape Delay.... I'd save out the Logic Channel Strip Preset as "SAW3-2m11v2-Track72-OmnispherePad", and then save out the individual presets as "SAW3-2m11v2-Track72-Omnisphere", "SAW3-2m11v2-Track72slot1-WavesOmniChannel", and "SAW3-2m11v2-Track72slot2-UadTapeDelay" etc. Usually the Channel Strip Preset is enough to get the whole strip back, but in case the format changes (or just didn't exist 20 years ago!) then I have the individual plugin presets saved with the plugin name AND the plugin slot # in the file name. This is a bit tedious, but I do this after the project has been delivered, when I'm in "clean-up and archive" mode. I also have key commands to save each of these file types, and copy+paste the names as I go so I don't have to type the entire string each and every time.
• For any tracks that use Kontakt, especially those that use protected (serial number required) libraries, or Vienna / Sine / Musio / Spitfire / etc., I always bounce each one to audio. I keep the original MIDI track with all the plugins intact (and of course save out the Channel Strip and all the presets individually), and I just keep the MIDI version muted / disabled, but not hidden. I try to do this as soon as the track is finalized, so I'll be mixing using the bounced audio, which saves time on clean-up day, but sometimes I get in too big a hurry to do that before delivery, so it becomes part of the clean-up process. But I always check and make sure that the bounced or BIP'd version is routed the same way as the original, and sounds identical, both solo'd and in the mix, before I move on to the next.
• During clean-up day I make sure that every single audio file used by a cue is saved locally to that cue's Project folder, and has a name like "SAW3-2m11v2-GtrRuggedChug" or "SAW3-2m11v2-OmniPadBNC" or "SAW3-2m11v2-TinaGuoLegatoBIP" etc. ("BNC" abbreviates "bounce" and BIP abbreviates "bounce in place").
• If an audio file is re-used between multiple cues I make sure it exists in EACH cue's audio files folder, and has a truly unique name reflecting that cue's title. So if I re-used "SAW3-2m11v2-DeepTaikoLoops" on the cue "SAW3-3m18v3-Still Healthy" then I make sure that file gets copied to the second cue's audio files folder, and I rename the new copy "SAW3-3m18v3-DeepTaikoLoops". That way there are NEVER two audio files with the same name but possibly different content / length / processing.
• Any hardware synths or processing are NEVER running "live" during the mix - I always print as I go for that stuff. And name the files with excruciating detail of course.
• Since I do use Ableton Live as well, I always save the Ableton project inside each cue's folder, and tell it to collect and copy all samples to that location. I do this as I go.
• During clean-up day I also mute / power-off / disable / hide any tracks that aren't used in each cue, to reduce confusion if and when I load up that cue years later.
• On clean-up day I also make use of the main reason that I go to all the trouble of converting so much stuff to EXS-24 / Logic Sampler format: I save each project with "Include EXS Instruments" and "Include EXS Samples" turned on in the Assets section of Logic's Project Settings. This saves a local copy of ALL of that stuff to each Project's folder, which is A-MA-ZING. (Boy do I wish it would do this for all Kontakt + plugins...). That way every single molecule winds up saved locally. I also do this for the master template for the film, which has all 976 EXS instances that each cue is descended from, and I make sure that all tracks are enabled / unmuted / loaded so that this save-out contains ALL 976 of them. For each individual cue, only the enabled / un-muted tracks will be saved, so those save-outs will contain only the EXS instruments used by that cue, but will also include any wild-card stuff that's different to the master tamplate, stuff that I've loaded up and used only on that cue. The EXS Instruments wind up all dumped into a single folder inside the Project folder, and the samples for each instrument are in sub-folders that are named the same as the instrument which references them. Okay so far.
• Once I've rolled through all of the cues (and the master template), I then condense the Samples folders to save disc space. To do this, I create a single master folder for "SAW3-EXS Instruments" and "SAW3-EXS Samples" at the top level of the SAW3 folder, then I drag all of the Samples sub-folders from each individual cue into that folder, and when I'm asked if I want to Replace / Rename the inevitable duplicates, I say "Replace". That way I wind up with a SINGLE folder that contains ALL of the individual Samples folders, which reduces disc space considerably. Since the Instruments files are tiny (like NKI files are), I leave them in each cue's folder, but I also option-drag them to the master Instruments folder, so I have a "sum total" folder of Instruments that matches my "sum total" Samples folders. I keep those per-cue Instruments folders on the off-chance that I made some change under the hood of the Instrument (changing velocity split points, key maps, controller mapping, etc.) but had neglected to save it out with a new name. (But I am normally very diligent about saving an Instrument with a new name if I've made ANY under-hood changes).
This sounds like a lot, and I guess it is, but clean-up usually only takes me one day for a whole film score, and I regularly load up cues from 20 years ago and everything is there, most of the tracks are still MIDI and can therefore be edited. If a Kontakt track won't come back, I have the BIP version. Ableton stuff always comes back, all the way back to Ableton v1.
For the hailstorm of cues in a weekly tv series, I do clean-up at the end of the season. This takes more than a single day however! But it has saved my ass a zillion times.