I know that the on-camera flash tends to produce poor images in general (the subjects are washed out, and the light from the flash isn't very powerful). But... sometimes there's no other choice but to use the on-camera flash and hope for the best. So I'm wondering, what is the best way to recover these images are in post-processing?
My question is similar to this question about fixing blown-out highlights; however, I'm interested more in things I can do to improve the entire image quality -- so this might include things like better color balance, ways to make the subject look less flat, etc.
I'm interested particularly in answers that use tricks or techniques that aren't necessarily "obvious", but might be considered "tricks of the trade" by professional photographers (I assume they have to deal with this problem sometimes, too?) -- I have both Lightroom and CS5, and am reasonably proficient with their basic use, but I know I'm probably just scratching the surface of their power. So nothing's off-limits for this answer -- if you have a solution, but it requires 20 layers and 15 different brushes, I'm all ears!
Edited to add: Note that I'm asking about photos that I've already taken, so any preprocessing tips are not helpful to me. Additionally, I do have a bounce flash, but there are certain settings in which it's not useful (if, say, there's nothing to bounce off of!), and the only way to get any light into the frame is direct hard light. My question is about how to make the best of these less-than-ideal shooting conditions in post-processing.