Measuring wide range of currents with ADC
Your C.T. reliably provides an average voltage of zero. That's good.
Your offsetting resistors, amplifier and ADC all add offset and other non-linearity. That's bad 

You can likely improve precision by cranking up the ADC sanpling rate. Ideally, sample rate would be some integer multiple of line frequency (60 Hz? 50 Hz?).

Take @BrianDrummond example: 50 Hz input sinewave, sample rate 1000 samples-per-second. At ten-sample intervals, you can get peak-to-peak values, but you do not know phase. At 5-sample intervals, phase shifts by 90 degrees...


Save the 15 most-recent samples in a buffer.
subtract: most-recent minus 10th-most-recent = A
subtract: 5th-most-recent minus 15th-most recent = B
calculate p-p: \$ peak-to-peak = \sqrt{A^2 + B^2}\$


This method automatically takes care of offsets. If you are concerned about the math overhead (having no FPU) use  the CORDIC algorithm, which uses only add, subtract, and arithmetic shifts...it does the nasty \$ \sqrt{A^2+B^2}\$ fairly quickly using integer math. Be aware that CORDIC method has gain: it will scale-up the peak-to-peak values by about 1.6
If you save the result of these calculations, you can improve resolution by averaging many p-p values.