That really depends on the nature of your data. The space saving in protobufs really comes from its variable-length zig-zag encoding of numeric fields (including lengths for arrays and strings).
Tbh, i'm surprised msgpack didn't produce smaller outputs for you, because it really should (at the cost of being slower)