This is who I recommend in San Diego.
http://absolutek9.com/dog-training-for-aggression/
Most major metro areas have at least one center. The best is someone with some background in training military or police dogs but is not necessary. This teaches the dog to still be defensive and able to defend his or herself but will not attack and teaches them to better understand playfulness and threats and better distinguish them. The dog still might misinterpret but then again all of us people misinterpret social situations all the time too. Maddie has issues with dogs but not people so they could advise a bit deifferently.