I think the main thing I would be doing with her is giving her much more distance from other dogs than it sounds like she is getting.
Like, 50m or more worth of distance. Whatever it takes so that she doesn't show signs of being worried about them.
That will give her experiences of seeing other dogs in a way that she doesn't have to worry about - because you're not going to allow them to come close enough to worry her and she'll never be grumbled at. So she'll relax when she sees them. In time you may then be able to reduce that distance down but go slow and at her pace.
I'd want her to really, really trust that the other dog is not going to get up in her face - so would do whatever I needed to do to ensure that - cross roads, u-turns, dive off path, walk in areas that allow me to get out of another dog's way easily etc.
Every now and again you'll get one that still comes up to her but if you keep a beady eye out and are firm with the other owner to recall them, this will happen less often.
Every now and again you'll also be forced to walk near another dog, just because you happen to have made a dash down a narrow path (for exmaple) and find yourself trapped between two walkers. You will learn how to avoid these scenerios, but if you have to then move her past quickly and brightly - no need for hellos that last more than a second or two. Straight passed and on with your walk. Damage limitation 
There is then work you can do with treats to try and partner the good of the treat with seeing another dog (e.g. see another dog, get a treat) so that, in time, the sight of another dog suggests a treat is coming and so the sight starts to become welcome because of the treat.
But I would focus first on distance and expect progress to be slow and a bit '2 steps forward, 1 step back' but there. The key is to give her the space and safety to feel more relaxed when she sees another dog.