What I do, is I strap a leash on before a training session or when I know there will be a situation that will elicit jumping. I step on the leash so that when they jump, they are pulled down by the leash. I may also say "ech" and give a firm look, but I keep my hands completely off the dog. This is how we taught our dogs not to jump and now, even if people invite them to jump, they won't.
After a few exercises, we test the dog by asking them to jump and finally by taunting them with food in order to jump. They learn that if they jump - the leash pulls them down. If they stand there (for the show dogs) or sit (for the pets) they get the treat.
The knee to the chest is actually very good, and I don't think it's mean, unless you do it hard. I just put my knee up and twist my shoulders to the side. Turning away is a natural way of telling the dogs not to jump. I do this with people's dogs who don't listen very well, so that they don't kill me. If I have to, I will put my knee up because them hitting my knee is a lot better than my stomach.
Best to you in your training,