With 0-12V power rails, the NE5532 can only reliably read input voltages of a few volts above ground in that configuration. This is shown on the datasheet as so:
For the follower to work, the output voltage must also be able to cover that range, but if the input doesn't work we need look no further.
Your suggested use of zener diodes to clamp the output will likely lead to large errors near the clamping voltage.
You may be able to do better by using a rail-to-rail input and output CMOS op-amp and high impedance divider, and by powering the op-amp from 0/3.3 and using the internal protection diodes to clamp the op-amp input avoid the necessity of using zeners. Alternatively, make a better clamp using a TL431, bias resistor and a 1N4148 diode, and avoid using the top of the voltage range of the ADC (maybe up to 2.3V rather than 3.3, which saves two resistors on the TL431 since it would clamp at 2.5+ 1 diode drop). Such a clamp can be applied to the input or output.
A high impedance divider (eg. megohm) can reduce the drain from the battery to well below the self-discharge current so it is negligible. An op-amp with very low input bias current (just about any CMOS rail-to-rail op-amp) is necessary.