Bob respondeu isso nos comentários, e depois disse que alguém poderia também fazer uma resposta, então aqui estou eu .
Visual C++ Redistributables are generally not safe to remove, since programs will depend on specific versions of them. Removing one will likely break something.
.NET Framework 2.0, 3.0 and 3.5 are all compatible. i.e. 2.0 assemblies will run on 3.0 and 3.5. .NET Framework 4.0, 4.5, 4.6 and 4.7 are all compatible (but not with pre-4.0). In this particular case, removing the targeting packs will mean Visual Studio will not offer intellisense documentation when compiling for that version. But it's probably not worth removing; they're pretty small.
Java should auto-cleanup old JRE versions, and generally you only need the latest version. However, some programs will save a path to a specific version on install so you might need to adjust configs
If you're not developing for .NET and are only a user, you don't need the SDKs and targeting packs. The older JREs are safe to remove in most cases. But if you're not desperate for disk space then leaving them is the safest option, yes.