Yep, sounds like Being A Dog syndrome - all perfectly normal dog behaviours that don't quite fit human ideas of politeness. Best way of dealing with them is to work out the why (excited to reach hands and face in greeting; want to get to the fun stuff and sniff and run; make the scary thing go away, I am on a leash and can't escape; etc, etc) and then find another way of meeting the need. I found mine got much less jumpy when I sat down on the stairs to greet them - that way they could use the stairs to reach my lap or shoulder. Lots of safe off leash walking makes a short time on leash dawdling at human pace much more acceptable, especially if the human understands the importance of sniffing. And if you can convince your dog that you will always, always step in between him and the horrible dog or human before they get too close he may feel less need to protect himself and you - especially if you understand his need to walk in a wide curve to avoid head on contact, and his right to scold rude approaches.