You can use CDJs as a controller. Not with Midi, but in HID mode.
I have only tried it with traktor, but AFAIK it should also work with mixxx. Pi, laptop, whatever. And you can keep using the screens on the CDJs.
And the next user can keep using the USB, no hardware or software modification necessary. Much easier then coding a new firmware.
Mixxx, Algoriddim DJay, Traktor, Rekordox, probably Virtual DJ. Connect CDJs and mixer via USB and off you go. If you have an mixer with no build in audio interface, you would need a external sound card (a hassle because a lot of cables) or aggregate all the CDJs into one virtual card.