буферный электролит через диод, + доморощенный "супервизорпитания" на int и в программе, по int - переводить все IO на ввод и срочно сохранять данные (схемотехника, ессно должна быть адекватной, чтобы при переводе IO на ввод нигде не было "плавающих" баз/затворов и т.п. Применяю такое повсеместно - отлично работает.
...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)