I tossed out a rather inefficient encoding in this comment 5 years ago:

This is what I now propose and plan to include in the OSC 1.1 specification. The idea is that
8-bit byte streams use SLIP and 7-bit byte streams use this encoding:
For every 4 bytes of original OSC data 5 bytes are used in the payload.

OSC-byte-one & 0x7f
OSC-byte-two & 0x7f
OSC-byte-three & 0x7f
OSC-byte-four & 0x7f
((OSC-byte-one & 0x80) >>7) |((OSC-byte-two & 0x80) >>6)|((OSC-byte-three & 0x80) >>5)|((OSC-byte-four& 0x80) >>4)|0x70

Here is how to embed the payload as a MIDI sysex:
0xf0 0x7D 0x7D 0x7D
OSC payload (see below)
The educational "manufacturer ID" is employed with two unlikely bytes following. Manufacturers willing to pay the MMA fee are free to embed OSC messages using their own manufacturer ID.