here's soe things I learned. I have had dogs since I was a kid. I have three now, and they are very good dogs.
As for biting, and reaching for the face, that is what dogs do. When they are pups, they constantly challenge the alpha male to see where the fit in the ranks. They constantly challenge any new face they are not sure of.
When your dog attacks, or shows defiance, very firmly (not angry at all) roll the dog to his back quickly. Put your hand around his throat, and gently squeeze. Put your face right in his and say no, very loud and firm (again no anger).
Although it sound lame, make a low growl, and show your teeth (face to face). Then after the dog settles down (should settle quickly). DO series of quick tightening around his throat (not enough to hurt) But you ned to let the dog know he's on his back and has no control. You alos need to let him know that you could take him out at any moment.
Do this once or twice, and your dog knows it's place. You won't have top do it again. Any time this dog shows agression to ANYONE in your house. Roll it to it's back quick, grab the throat, get firm and don't let it go until it submits.
If you have little kids, have them do the same until the dog absolutely knows the kids is an alpha(higher in the pecking order)
You can yell scream, smack the dog, whatever. But they absoluely won't learn until they figure out who's boss. After you have established who the alpha is, you should have absolutely no problems training your dog to do anything. Their job 100% is to plase the boss.
My dogs listen, come when they are called, and are happy. I've never layed a hand on them in anger.
Also a quick snap to the nose not hard, but a sting. When they get out of line and do something stupid

wil let them know te behaviors unacceptable.
As for house training, I take the dog when I find it, and do it the old school way. Show it (never rub its nose) but get it close and let it smell, toss it outside with no regard (no anger either) just tss em outside like it is how it supposed to be. When tyhey come in, never ever give them bad attention praise them even if they didn't go to the bathroom.
That lesson awesome
#1 everytime they come in when called they get a good boy. (they love it). Actually when A dog has to go, they can't wait to get outside. they know when they come back in their gonna get killer good attention.
Seeing as how your dog knows it needs to go outside. In my opnion you only need to show him who's boss and what to expect. I og outside, boiss is happy, I come inside boss is happy..
If the dog does something that pisses you off, make them submit. But remember the second the behavior changes they need lots of verbal support. So the dog jumps in friends face, immediately run over and make it submit. The second it rolls over and submits, give it good dog and let it up instantly.
That wyay they know the second their behavior changes they get an instant response.
The other thing(last resort), take your dog to an obeidience class or two. In a very short time, you'll have the dog extremely bonded, Happy,eager to please, and following directions like you would not belive.
Good luck.. sorry so long, just my experiences..