I have had the same problem with Buddy but it's only at big dogs.
I also listen to Cesear and he taught me to catch the behavior BEFORE
he barks. You have to watch her carefully and correct her even
before she reacts and treat telling her what a good girl she is.
Sounds silly but is honestly works. Once they know they are actually
doing something wrong they do get better on walks.
I will gently poke him when I see a large dog up the street and
tell him NO and do it again if need be. He will growl under his breath,
because he has to do it his way, but won't lunge like a lunatic.
It has helped me greatly catching his behavior before he reacts.
If I don't catch it before he reacts there is nothing I can do but
get embarrased
He has gotten so much better, but it did take
time.