I think I've fixed my Galaxy S2 problems! It has been completely stable, very responsive, with great battery life for 4 days.
After the 4.0.4 update, I saw the all the problems being described here: spurts of extreme battery discharge, spontaneous reboot, but most often "sleep of death". After the "sleep of death" episode, the phone indicates the battery is dead if you hold the power button. But usually, as soon as you plug in the charger, the battery indicates less than empty, and the phone will boot.
Per AT&T's advice, I removed lots of apps (mostly geeky, system-oriented apps). No luck. Then I did a factory reset. Better, but no luck - still saw "sleep of death" occasionally. Unacceptable, as my job depends on the phone.
On a hunch, I tried something else: disabled all the AT&T crapware apps, being specifically concerned about "AT&T Smart Wi-fi".
Background: I remembered that several months ago I saw this app in the Play store, and it looked useful. I installed it, and my phone became unreliable. I didn't recognize the problem immediately, because I suspected my new SD card was the culprit. After two weeks, I uninstalled the app, and the phone became stable again. A few days ago, I noticed "AT&T Smart Wi-fi" came along with 4.0.4 as a system app, so I disabled it and the phone has been great since.
Actually, I disabled most of the built-in apps (you can't uninstall them, unfortunately), but I suspect the Smart Wi-fi app was the culprit.

