I am not fully aware of what changes you can make in your system. You might be able to do any of the following:
1. change the sending side to use base64 .
2. on the receiving side, convert hex to base64 before calling the Google parser (this is what you suggested above).
3. change the type of the field in the protobuf from bytes to string, and convert the hex string to bytes in your own code after the json is parsed. This is a change in the binary representation, so if you have existing messages you persisted somewhere using the old format, that would no't work.
-Nadav