Hi Ryan, Yamcs developer here.
"Certainly I can't be the first one to want to do something like this" - that was my thought when starting Yamcs :)
I thought of adding protobuf support directly in Yamcs, so as to allow receiving TM packets as protobuf messages. That wouldn't be so difficult, however the XTCE encodes more information than just how to extract parameters out of the binary data. It encodes raw to engineering transformation rules, validity limits, alarms. So if you used protobuf you would still need to encode those somewhere.
In the direction you are looking for I know these two:
They are both related to NASA cFS and I have personally not used them.
I think many companies develop internal tools but never release them outside the company, which is a pity because those kind of tools tend to rot away (new employees not willing to use old guys' tools, etc).
nicolae