I have an unusual method to solve this problem almost immediately.
When my pup was going through his biting phase it really hurt. I mean REALLY hurt, but he didnt understand the problem.
As humans, there is little we can do to help a puppy understand WHY we have a problem with biting. Given that, I did the best thing I could do:
I introduced him to an older, wiser dog, that taught him that biting hurts.
As a puppy, he loved to play, and when he played with the older dog, she let him know that biting hard was painful. He soon learned to bite more softly, and ever since, he will NEVER bite hard.
Sometimes, the best thing you can do as a trainer, is to sit back, and let a dog teach a dog how to be a dog.
(note: Don't introduce your pup to a dominant, rough dog to do this! This is the job of a more gentle dog. You dont want to hurt your puppy, or put him in a position where there is a very real danger)