hakkr,
This is similar to the approach I outlined (commenting out each module). This is certainly better than nothing, but there are still plenty of edge cases that would make this less than a 100% solution. For instance, if a module is required inside an eval block of a conditional, then only under the right circumstances will making the module unavailable show up. A comprehensive test suite is needed to ensure removing the module will have no ill effect.