First thing that spring to mind is an internal EEPROM based lookup table. This will save a lot of IF-THEN and code space.

Or throw all your data in MiscEl or Excel and see if you can extract an accurate enough formula from it (Curve fit).