the max. input for the ADC is 5V, so you can measure up to 2500/32 Amps = 78Amps. A voltage divider will also reduce the resolution of your measuring. A Zehner diode is a good idea, also a restistor of about 1kOhm between sensor output and ADC input, the Z-Diode placed direct to the ADC input.
If the range is not big enough, i think it is a better idea to use an opamp to subtract the VCC/2 voltage offset, this gives you up to 156Amps. Above there is a voltage divider or opamp gain below 1 necessary.
Why do you want to get rid of the offset in the hardware? Its there so that you can detect negative currents as well as positive currents.
I would read the ADC value into an integer and then subtract 512. A negative number means a negative current. You may need to adjust the 512 to get a zero reading for zero current but thats easier than trying to adjust a voltage to get zero for zero current.
You can also increase the gain of the Arduino ADC by reducing the voltage on the AREF pin. From a quick look at the datasheet it looks like the minimum you can put on AREF is 1V (probably to keep the resolution above the noise level). This is a free 5x gain already.