The ADC is only as accurate as its reference voltage, which you can supply on the AREF pin. According to the datasheet, it should be between 1.8V and VDDA which is usually 3.3V.
So, first things first, you need a reference for your ADC. You can use any suitable reference chip to make a 3V3 reference, but that requires a supply voltage a bit higher than 3V3. Otherwise, if your reference chip is supplied from 3V3, you'll have to use a lower voltage, like 3V or 2V5. It is possible to use a TL431 for this purpose, or any other chip, if they meet your accuracy requirements.
Note the PSRR of TL431 depends on the resistor used to supply it with current. Since TL431 output impedance is about 0.1 ohm, with a 1k resistor, it will have a PSRR close to the ratio of the two impedances (1k/0.1, or 10000, or 80dB which is pretty nice. TL431 has wide bandwidth so it doesn't suck too much at HF rejection like some of the micropower references do, and you can always use a bypass cap (read fineprint in datasheet about stability, ESR, etc).
If you want a lower noise TL431, I recommend drop in replacement SPX2431.
After you have your ADC reference you can divide it in half with a resistor divider, to get the center voltage for your amplifier. If you already use an opamp, the other one in the package can be used to buffer this half reference voltage.
Variable current should never be drawn from a reference as this will change the voltage ; however the usual substractor opamp circuit draws constant and negligible current from the voltage divider on the "+" input of the opamp. In this case, no need for a buffer, unless you also want to filter the reference with a very low cutoff RC filter to reduce its 1/f noise.
Using the same reference for the ADC and the center voltage means it will always end up on the same sample value (plus noise) no matter what the reference drift is, which can be useful. It is of course dependent on precision/drift of resistors and offset voltage of the opamp, but it's only a 12 bit ADC so it doesn't require super low offset opamp... and you're measuring AC, so you will get rid of any DC offset using digital filtering anyway.
If you use a filter on your reference, both AREF and the voltage divider feeding the "+" input of the substractor opamp should get the same filtered voltage as input: the divided voltage will track the low frequency noise of the reference, so it kinda cancels out (reference noise still modulates the signal, but does not add to it in this case).