If you believe that software engineers are not paid enough and it's morally important to do something about it then apparently I sent the best signal of all by retiring and thereby increasing demand for everyone else. But since this is absurd, I won't pat myself on the back too much.
More generally, free markets are doing absurd things all the time (see Matt Levine) which makes it hard to extend moral reasoning very far without getting the equivalent of divide-by-zero errors. So I don't think we should be all that concerned about how it affects the job market in general when negotiating with an employer. You know what you want better than you know what anyone else wants. Ask to be Paid More (tm) if that's what you want, but if you don't want to, you don't have to and people saying there is some kind of moral imperative to try to become even more wealthy at a faster rate can be ignored.
Not moral, practical. The majority of places that do on-call do it because it's the default.
That's the problem with on-call: it somehow took on moral undertones. And as a result it does not feel safe to speak out against it.
If on-call was widely seen as a negative (that a few people like because it gives them a sense of importance, more power to them) then there would be far fewer companies pushing for it as the default. As it stands, most people suffer silently for lack of an alternative. And the first step towards change is to make it OK to publicly say that on-call's a negative, a health hazard, and other options exist (though they may cost more).