If I understand it correctly, unused space refers to entire pages in extents that have been allocated but not used. You could something like this if you bulk load with a small batch size with minimal logging.
Note that if you have pages that only have one or two rows them, they are entirely included in reserved.
Since this is a vendor system, I would not do anything without approval of the vendor. If you mess things up, that support case would not be fun.
But you try the exercise in a copy of the database on a different server. I would also be interested in just dropping an recreating the XML indexes. Not that they may be the culprit, but they are "special" here.