I’ve been giving this some thought, and will toss some ideas out for your consideration.
Mod Wheel is really just CC 1. On a keyboard (where the terminology is relevant), there’s only one mod wheel, and it’s difficult to use it with 10 patches at once. You could possibly eliminate these 10 slots, and just make CC 1 another CC you can configure, and set the channel for. Ideally it’d be great if you could set the channel for each CC rather than hard coding to CH16.
There are also 10 channels taken by aftertouch. I like aftertouch/channel pressure modulations on a keyboard because it’s really the only one aside from velocity you can use without removing one of your hands from the keys. That said, I don’t know if I use it enough to merit having it available on each channel. Could possibly just leave it on the 2 poly channels, and maybe 2 of the mono channels? That would eliminate 6 more for a total of 16 free SC.CV slots.
For what it’s worth, in my experience using the Shuttle Control, I like having pitch bend CV separated from the note pitch CV. That way you can set the ER-301 up to do things like pitch bend up 2 down 12 semitones at full displacement. Or you can remap it to something other than pitch - it’s one of the only standard MIDI controllers with resolution > 128.
Would also be neat to do this just by editing the configuration map - i.e. if the voices aren’t specified on the config map, don’t use them. Another way to free up SC.CVs for use by other devices (Teletype, 16n). I.e. if all you need is a 4 poly with velocity, don’t map voices 5-8 pitch & velo, and that frees up 8 SC.CVs. Not sure how crazy that makes the code. Alternatively, could specify max voices for the two polys in the configuration?
Anyway, just some ideas. 