Best way to measure 0-5V with uController running on 3.3V
I would try a resistor divider.  If you get an array the relative R's will track better than the absolute value.  Here is one random selection from DK.