You clearly sound like a moral person with a backbone. Whatever your self-serving friend's fleeting opinions
One possibility: find decent people who value you, enough that you can walk away. Your friend likely will treat you better. Because of two principles:
bargaining power & social validation
You gain bargaining power with the ability to walk away. (Not that you actually plan to.) Social validation means many will approve of you more, because they observe others approving of you
Not everyone is affected by these things, but sadly, many are
Could be tricky though: success of one partner can
cause envy
One way to do find such people is to look at communities of people who
act morally. Because moral virtues are
built by practicing moral actions. (In those communities, many merely talk. But a subset of them act)
Now, this may not get you a romantic partner. But friends, yes, that's possible. Now, that may require some time/effort, which you may not be able to spare
But I dunno if this'll work for you. Could end up sucking