I'd vote for the feature request too as I use the JS API a lot to manipulate metadata. But to avoid breaking anything that already sets an empty string value using setMetadata(), it might need to be a new function like clearMetadata(), or a new optional boolean parameter "TreatEmptyStringAsClear.
While I'm talking feature enhancements, I really wish there was an option to use the metadata field name in setMetadata() or setMetadataAllFields() rather than having to pass in the asset ID's. It's always irritating to have to go look them up, and it makes the code really unreadable and hard to spot bugs. Lost count of the number of times I've copy/pasted a bit of code and forgotten to update one or more specific field ID's properly.