A lot of people put themselves in a position to get bit (i.e. touch the puppy when it doesn't want to be handled, keep hands in the puppy's face, etc.). The best thing, I've found, is to minimize the chance of getting bit by not putting yourself in a position to get bit.
In addition to respecting the puppy's space I would recommend doing handling drills (touch the puppy, give high value reward, repeat 100 times).
Another useful thing is to exercise the dog adequately. If you go for a 45 minute walk once a day and you're still getting bit then you need to increase the amount of walks and/or the amount of time on the walk.
Something else to consider would be not making a big deal of getting bit when it does happen (i.e. scream, get mad, squeal, etc.).
Last thing would be not to play with the puppy after he bites you. Puppy's bite for many reasons; one of them is because they want to play, but if you play with them after they bite, you're teaching them that biting is an appropriate way to tell you that they want to play. A lot of people inadvertently teach their puppy to bite them.
Oh and when he starts biting when he's on your lap, calmly put him down and/or away in his crate. It sounds to me like you became a giant chew toy.
Best of luck, hope everything works out!