File :1244388531.jpg-(314 KB, 1600x1180, 1241687742238.jpg)
Resist the urge to pile on lots and lots of immunities on your epic monsters. It's okay once in a while for a monster to be immune to all of the primary tricks of your players, but it shouldn't be the standard (just like at lower levels).
Unfortunately, far too many epic monsters end up with a stat block that reads: "Immune to critical hits, stunning, fire, electricity, cold, acid, blindness, death effects, negative energy effects, polymorphing, petrification, the kitchen sink, and your mom."
This does help to rule out 1st turn kills, but at the cost of, for example, making the rogue wonder why he has 12d6 sneak attack written on his sheet, since it never seems to affect anything. That's not to say that a monster can't be immune to a few things, but a monster not designed for a MacGyver encounter shouldn't be shutting out more than one or two players' primary abilities.
A different approach is to embrace the overwhelming force that your players can bring to bear, and design monsters with multiple lives. This can be via magic; the easy availability of True Resurrection was mentioned earlier. You can also do it as a natural property of the enemy - certainly there are plenty of enemies in myth and epic fantasy that just naturally aren't inconvenienced by having their bodies turned to ash.
Beyond that, there's numbers. You can also go with the immunities, but make them finite (stop first X spells that force a save to avoid death, stop first Y sneak attacks, etc...) or make them attackable (either magical gear, a body part, or some kind of magical construct that can be undone by damage or the appropriate spell).