I generally wait for a period equivalent of the time it takes me to go to the toilet.....if it hasn't responded by then I'll go and get a drink or make a cup of coffee and maybe even make a light snack.....if it's still a no show I wait wait another 5 minutes or so....
....if that totals 15-20 minutes or so I generally lose patience and close it off and hope that most of it is still there when I reopen it.....!!
For me it mostly happens when I import something like a large tree model, or if I have a complex shape using something like Shape Bender....although I will be more patient with Shape Bender because it generally comes good at some point, but sometimes it scares the crap out of me...!!
I share your frustration though, especially if it happens when you haven't saved before it 'hangs'.
Fortunately though, most often an 'autosave' will get me out of trouble more often than not...!!