I tend to correct aggressively, particularly when someone should know better. A male receptionist at my therapist "Sir'd" me today. At the therapists office. Me in full makeup, wearing the ginger-blonde hair, a bodycon dress, tights, knee-high boots. Right at the top of the medical record on his display, it says "Preferred name: Michelle".
"Oh, it's "Ma'am" these days. There's been a little change."
There's another receptionist/scheduler in my endocrinologists office who constantly "Sir's" me, uses my dead name, and ignores the preferred name, all deliberately. When I called her on it, she said she is required to use my legal name. I generally "Sir" her.
Someone less thick-skinned than I am could take some damage from these jerks. Personally, I just report them to their employer.
Oh, and when someone consistently "Ma'am"s me, or calls me Michelle, and is otherwise polite and helpful, I fill out the comment card (physical or online) for them or their business and complement them on their great customer relations.
It cuts both ways. Let people who do the right thing know that you noticed and appreciate it.