I think it is important to note first that many of these files should be there for one reason or another. Many applications look at %SYSROOT% %SYSROOT%\System32 %SYSROOT%\SysWOW64 and %PATH% for executables, dlls, and other configuration information.
If anything new you install uses these, then you would want to keep them. For Python for example you might receive these files when you install an IDE, but to continue to use any scripts you wrote you should keep these intact.
Now, on to your question:
I would think the best route if you are really concerned would be to log all drops, and scrub manually if the uninstaller does not remove it. Or use something like this to do most of the work for you.
Another alternative would be to use something like powershell to periodically log all files in a text file that you can audit at a future date.
There really is not, and rightfully so a one-size-fits all reboot of these directories. There is no way to accurately know what any given user needs. Attempting to reset to a generic time would likely break many applications.
Finally, on necessity. I don't think it is. Other than taking up some space, and generally trivial amount if it, there is no harm done having them there. I personally would rather not risk breaking something, and then spending hours trying to figure out what went wrong months down the road after I had deleted my backup of these files.