I'm a project manager for a ~60 person software dev firm. One project I'm on is with a large American enterprise, and the product owner and his direct manager are absolute assholes.
I've got 8 developers that I try to shield from accusatory questions and extremely aggressive and borderline abusive behaviour. In the beginning we we all agreed not to take anything personally and to let it just roll off the back. We agreed to tighten up our processes and try to avoid confrontations by being super proactive with all our work, but we're coming close to the launch date, and it's getting worse as more pressure mounts.
Ordinarily, we would have dropped the client by now and refused to put up with the end-justifies-the-means tactics, but unfortunately our company could not survive without this and a handful of other projects we have with this client.
My company is actively looking for new clients so we are not beholden to this one, and my manager is apologetic and tries to run interference when she can, but I'm largely left to my own devices. This is a very high profile project that stands to disrupt its market. It's exciting for them and us. I have to maintain this relationship somehow.
How do you manage your clients who are completely unreasonable, rude, and treat you and your staff extremely poorly?
Some will scream and yell all the time but when push comes to shove will act honorably and go to bat for you.
Others are just looking to pin as much stuff on you in order to the cya game.
Also figure out why they're assholes if possible. The solutions are very different if they're assholes because they're boss is an assholes (asshole by proxy). If they're assholes because they just care a lot about the project and are worried/anxious (asshole by circumstance). Or if they're just always an asshole (asshole by nature).
General advice though is document everything, dot every i, and cross every t because shit tends to go sideways when assholes are involved and you don't want to be the one to get screwed.