We've had a number of occasions where vendors have requested a root-level admin token, too. Sometimes we've reached a solution by asking them what specific API calls and data they really need, and then generating a token associated with a more limited role and/or a specific sub-account. Still not perfect, but better than handing out a root-level admin token.
On a couple of occasions we've set up an API façade that lets us grant access to specific API endpoints that would otherwise only be accessible using a root token (e.g. ability to read term metadata). This is a bit of work to set up, but now that we've got a pattern established it's not too onerous. (We're using AWS API Gateway to accomplish this -- if anyone's interested in details, LMK.)
--Colin