My go-to pick for an unethical synonym of 'immoral' is 'unscrupulous'. I pull this word out a lot because it carries that sharp sense of someone who ignores ethical boundaries deliberately — not just someone who made a mistake, but someone who actively cuts corners or exploits others. In everyday talk, calling a person 'unscrupulous' signals a pattern: shady deals, a willingness to deceive, or a habit of exploiting power imbalances. It feels more pointed than 'wrong' and less vague than 'bad'.
When I explain it to friends, I like to contrast 'unscrupulous' with words like 'naive' or 'mistaken'. Those latter terms imply a lack of knowledge or judgment; 'unscrupulous' suggests moral calculation. You might say a scammer, a corrupt official, or a predator is unscrupulous, while a well-meaning person who harms someone unintentionally isn't. In fiction, if a villain is described as unscrupulous, that conjures a pretty specific image — someone charming but dangerous, the kind who will smile while taking advantage of others.
I enjoy the texture of the word: it sounds clinical enough for formal criticism but vivid enough for a heated rant. If I'm picking a single synonym to replace 'immoral' when I want to emphasize ethical violation and intentional harm, 'unscrupulous' is the one I reach for, and it usually lands exactly where I want it to.