If it's just about DSP settings, then add a Parametric Equalizer -> Bitdepth Simulator (16 bit, with Dithering) at the end of your DSP chain.
Now, for your use-case, this may well be insufficient (or it may not, see next paragraph), but I personally use this for a pair of wireless headphones I've connected via ASIO. I have a USB->Coaxial/Optical converter in-between to allow me to send data to the headphone transmitter, but from the spec sheet I know that it only transmits 48kHz/16bit. Since for ASIO, I can only choose between the full 32 bit and the padded 24-in-32 bit options (no complaints here, by the way, it's my case that's unusual), I decided to make it transmit only 16 meaningful bits this way, and it works (that is, I hear a difference between with and without Bitdepth Simulator).
What I'm hoping that this will accomplish for you is for MC to encode the data to FLAC, as usual, and then to notice that, while it encoded the file as 24 bit, it actually contains no more than 16 bit of audio data throughout the file. If it does notice , I hope that it will fix the FLAC header to specify a bitdepth of 16 bit instead of 24 bit, and possibly (though I don't think it's going to be necessary) the frame headers as well. It's worth a try, but do note that I don't actually know.
What also might happen is that your player plays the files just fine even though the header says that they are 24 bit, as long as there are only 16 bits of audio data to decode. I doubt it, though.