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. :).