I didn't see anything online that was better than Hamming. Reed-Muller 2,4 is 11b data in 16b but is also only distance 4. This is enough for 1 error correction + 2 error detection. But extended hamming for 11b is also 16b long and distance 4. If the data is ADC data, it might be possible to get something effectively similar to 2 error correction.
The number of errors a code can correct is based on the smallest number of different bits between two codewords. This need not be uniform though -- some codewords might have several more bits different from any other. Likewise, some codewords might be much different from all but one codeword.
For ADC data, if half of the codewords have distance > 4 vs all others, then these can be assigned to give a system where the msb can be corrected + 1 other error. Likewise, codewords can be sorted by distance to each other. Similar codewords could just map to similar values. That means an uncorrected 2 bit error might only change the lsb. It isn't perfect, but the two bit error really had little effect.
Not sure on the best way to assign codewords though. I'll leave that to you.