I am not a fan of having to compile proto files. I've been playing with a protobuf-like encoder that does not need compiling. Specifically to replace the JSON row storage in osquery : https://github.com/packetzero/vsqlite_serialize
I haven't looked at RPC use.