I think I would stonewall and go on strike if my child spoke to me like that. I would literally behave as though they were not there (except obviously I wouldn't leave them unattended.) But I wouldn't speak, wouldn't cook or clean, wouldn't take them anywhere, not even to school, would cancel their phone contract and switch off wifi and then when I was ready, or when they actually sounded worried by my behaviour I would speak in a very very quiet voice so they had to lean in to hear me, and say:
'You are not and never have been the adult in this relationship. I am. I am responsible for housing you, feeding you, clothing you, caring for you and caring about you. You have never had to do that for anyone so you have no idea how much self discipline and energy it takes. I do it out of love. But I do not need or choose to ever love someone who treats me like dirt. Yes, you heard right, my love is conditional. It's bullshit that parents need to love children unconditionally, if the child thinks that's an excuse to treat them like shit. I love no one unconditionally who treats me like dirt. I don't have to love or care for people who treat me like dirt and I choose not to. I will do nothing at all for you until you apologise in full. I have made a list of every insult you have thrown at me in the past month, including when I took you on holiday. Look me in the eye and hear them.' Then I'd read out each one to him. Then I'd ask him to apologise for each one by saying 'Sorry I called you X. I know you are not X. I realise calling you X made you feel... I know you are...' and ensure he swaps it out for a positive and genuine, loving phrase. Make him say something like that for every single insult he has hurled at you.
If he doesn't want to, or gets bored or angry, that's okay. Just stonewall him again. Or very quietly, using his name, say to him each of the things he has called you, looking him in the eye and after each one, ask him: 'How would you feel if I said that and really meant it? Your own mother, talking to you as if you were dirt? How would you feel?'
Really women MUST stop young men from thinking this behaviour is okay. If we don't they perpetuate it with their girlfriends and wives. It is our job as mothers to give them an incredibly hard time if they disrespect us.
There will be people on MN who sneer and think this is OTT. But too many young men are sucked into the manosphere and think their bollocks will grow bigger if they treat women like shit and nothing on earth will stop them unless we give them a really hard time about it. Shouting is not giving them a hard time - it just adds fuel to the fire. Being quiet and indifferent and cold and strong and absolutely not backing down until they take full responsibility for everything they have said is the only way. My DC very rarely tried to disrespect me. But they got this treatment at the very first sign. If they called me a name, I would be absolutely silent until they got concerned, then I would look them in the eye and say: 'You are a failure' (or whatever they had tried to say to me). When they looked shocked, because I sounded like i meant it, I'd then say in my normal mum voice: "Weird isn;t it? Bit creepy, hearing someone who you thought loved you talk to you that way. But I am quoting someone. Do you know who?" Etc. Really take the time to not let them wriggle out of being fully aware of a) what they have done and b) the impact it has on the person on the receiving end. Big, strong, unbudgeable boundaries. And yes my love is conditional. Even for my DC. That's the one condition. I don't love anyone who doesn't love me. In my world, love is mutual and I want to teach them that.