You could enforce it via.. uh.. communication? :) (not trying to be snarky,
just thinking out loud)
Like, maintainers are the only ones getting push access to the master,
right? So you make sure anyone getting access to push things to the master
has that option used. Anyone not having access to it can only submit pull
requests, and you can easily see in the pull request if it will pollute the
history? It feels about right.
On github you have a setting on a repo, that lets you set a template for
pull request descriptions. In it, you can ask people to verify that they
have rebased. :).