I've done this as a proof of concept on a PIC. Don't know how hard it is on other devices.
If you have a capacitor providing power to an ADC input, when the power dies, the value on that ADC input goes *up* (since it remains the same as the main power dies out). If you detect that increase, you can use it to trigger a EEPROM write of the current settings. That takes a couple of milliseconds, but it's not hard to arrange the capacitors on the *power* to give you 5-10msecs further power so you can be sure to get the EEPROM write done before the power goes down completely.
Ok, there's a little bit of thinking required to make sure that the ADC "power down" input stays up longer than the main power rail, and that the main power rail stays up long enough to do the write, but actually, it's not that demanding. It took me a morning to get it working on the breadboard. Unfortunately I've never used it since, but I've stuck it in the toolkit, I suppose!
This way, you only save the settings on actual *power downs* not *every time something changes* which obvious extends your EEPROM life out into "don't care, it's so long" territory.
I can probably dig out the code and post it if anyone is interested. The original scheme was suggested to me by Roman Sowa on the SDIY list, so I can't claim it as an original idea.
HTH,
Tom