Hi.
I've been struggle with your problem too and IMHO, there's no way I can avoid duplicated textures/objects from happening. From a point of view, yes it is a wasted in term of disk usage, but another advantage which important is you would never lose any reference you've made before, in case reinstall/reconfiguration happened.
For now, I made copies of each textures/objects i used in it's own directory under its specific project directory. Bitmaps goes to "maps" subdirectory, proxies goes to "vrayproxies" and so on. When i finished the project I compressed them into single .rar file and burn them to the archive. This way, I wouldnt worry about losing the "authenticity" in the future. This archives is ready to reproduced the same way they were before, regradless where i put textures and/or another reference in the future.
I also want to note one thing. If you did the "File > Archive" (which is the sum of what i explained), watch your zipped content. In many cases, if I have two different textures with the same name, 3ds Max would grab the first it found in its registered path (system path, user path) rather than the specified bitmap slots directory. I'm still using 3dsmax 9 though, this bug probably have been fixed in higher release. It would give you heart attack if you ever found out unwrapped bitmap replaced with standard 3dsmax "cement.jpg", wouldnt it? )~