I found the answer to my issue. It was that I was still on the USPS testing server. Apparently, the testing server only uses their "V2" protocol or whatever and even so, it doesn't often work properly. Moving it to the production server by calling them did the trick. Also, it adds weight for the package tare weight that you specify so be conscious of this. As for zero weight packages, I assume USPS expects it to weight something! There is likely simply a minimum weight required that they are injecting.