For the Mozilla apps, I keep the cache on the ramdisk and regularly use rsync to backup my profile, keeping 2 generations. I also haven't had to restore a profile in ages.
For Dooble, I turn on wal (write ahead logging) which in theory should help with crashes corrupting the profile.
To turn on wal, run this sh script in your profile,
ls *.db | while read filename;
do sqlite3 $filename 'PRAGMA journal_mode=WAL;';
done;
to turn off
ls *.db | while read filename;
do sqlite3 $filename 'PRAGMA journal_mode=delete;';
done;