On meta-ethics, I lean toward Error Theory (this week, anyway), and regard skepticism as a primarily epistemic stance. My usual approach to justifying moral behaviour is to note that it is in my rational self-interest to live in a society where I will receive cooperation from others, fair treatment, and some assistance when I stumble.
But as you note, this only gets us so far. My self-interest is conditioned by my middle-class status in society. For example: since I believe my chances of winding up as a mentally ill, drug-addicted street person are small, I might, if I’m being strictly rational, be reluctant to contribute (whether through private charity or the public purse) to rescue and rehab services for such people. It’s a net negative to my personal utility. It’s only an a-rational compassion that makes me want those services to be available.
Similarly, if some very powerful person decides to screw me over to their own advantage (even if it’s just for sadistic jollies), I can’t really appeal to their self-interest — I have nothing they need. The best I can do is to band together with other less-powerful people and say: Try that shit on any of us, and we collectively will kick your ass (when institutionalized, this is known as Human Rights and the Rule Of Law). But that’s really only modifying the powerful person’s self-interest-calculus by introducing a threat. It doesn’t fall out logically from the premises.