I try hard to think of logical consequences for poor behavior. Really, though, we really have to justify many of the things to ourselves to make it logical. Some examples of what we've come up with:
-wasting food = compost duty
-name calling or hitting = early bedtime because it's not fair to make people be around someone who is so rude to them
-being reckless with the ball inside = no playing with balls inside for the rest of the day (2 days, whatever time period seems appropriate)
-shirking chores or complaining excessively about a chore = an extra chore
-smearing peanut butter all over the counter = wiping down the counter
And, some natural consequences are easy:
-taking forever to lotion up at bedtime = not much time to play
-loosing your lunch box at school = you don't have the lunch box to use anymore
There are times, though, that I just have to send him to his room or I'm worried I'll hurt him. Like today. I should have sent him to his room before talking to him about echoing me when I was correcting Davan about something (that the veggies needed stirring for something like the third time this meal - she loves to cook, by the way). Instead, I kept him there to yell at him and got more and more pissed off because he was wiggling his lose tooth and looking off into space, humming and looking off into space, rubbing his head and looking off into space. The whole episode took about 45 seconds, but, really. All that happened. And I was an idiot. I grabbed his arms and yelled louder.
Sometimes, things don't need to be natural or logical. They need to happen just to keep everyone safe. Sometimes that means him having to spend time in his room.