Medicate. Really. The right amount quiets his brain enough to let him make better choices.
When my kids fight, they have to run laps in the culdesac outside. If anyone is still complaining when they come in, that person has to run more laps. My most argumentative kid once lasted 45 minutes this way! (She got water, of course.) House is quiet, and by the end, the kids are quiet, too, if only because they’re too tired to pick fights. After a while, they encourage the other ones to STOP fighting instead of provoking each other.
Pooping in the shower? Then he wouldn’t get to shower without Mom in the room for a month, and his showers would be limited to five minutes. Act like a baby, get treated like a baby.