Personally, I've always found that planning ahead to meet a child's needs pays off beautifully. For instance, anytime I have to bring a child to something where they'll be waiting around, I let them take something with them to occupy themselves. Then I watch the children who have nothing get constantly scolded by their iParents. What did they expect?

We handle timeouts a little differently in our home. If DD8 has an issue and it can be handled right then and there, then that's what we do. But if she's so upset that any rational conversation is impossible, we send her on timeout. It's not a punishment, it's just an opportunity for her to calm herself. She can come out whenever she decides she's ready. If we decide she still hasn't sufficiently de-escalated, we send her back.

When she's in epic meltdown mode, she might continue escalating even while she's on timeout. For those, DW and I pop in on her every ten minutes or so, see if there's anything we can say or do to help her reset, then step out again if it's not working, and try another approach next time.