No, there is nothing built in to either gRPC or Protocol Buffers for
_explicitly modeling faults_ à la SOAP.
As you've found, there are caveats to the rich error model. Only you can
determine whether this approach will work for your software or not. Whatever
you decide, for the sake of your consumers, please explicitly document it.
And test your error cases. :-)
If you are consuming another gRPC API, you will have to consult its
documentation to determine how it models faults.
I've worked on projects that were able to use the rich error model, as we
could handle the caveats. We controlled all the clients, proxies, and
servers. We had two languages, and we wrote helpers to encode and extract
the rich error information. We taught our custom HTTP monitoring components
how to understand gRPC errors. &c.