Requiring a part for each slot is not that big of an issue, copy-paste FTW. Every part can also use the same defect.
Since I can't make a random event, my plan was to cheat, by creating multiple bot ids for each model, one with all the parts, where you give values for the "all", "cheap", "nice" and so on, and other ids with missing parts, where you put the "all, cheap, nice" at 0, and use the "dump_site_scavenge" target chance instead (so that it can only be found in the dump). It's a roundabout way that would make the mod a nightmare, especially when we need to upgrade (I don't really want to add 3-4 variants to each of my 28 models, and then have to tweak more than a hundred bot ids...), but I don't see how we can do it otherwise ourselves (until Radnor add such a functionnality by default).
I've tried a quick and dirty version, and it seems to work, apart from the fact that the "missing part" has an integrity value and can be repaired to 100%...