The place to fix this is not at the employee level, by taking away their right to negotiate. The place to fix this is at the HR level, by firing them if they discriminate.
But, if one group of people is less willing to negotiate, discrimination from HR doesn't come into it really. You can't force people to negotiate.
I think you're right that it shouldn't have to be fixed at the employee level, I just can't really see another place that'd work (I'm no expert though.)