Have you seen https://github.com/blog/2247-improving-collaboration-with-fo... ?
Since I haven't used it, I'm not sure, but it seems like it would also help avoid the case of "Can you squash this before I accept it?" leading to pointless delays and extra work.
> Does it help avoid the case of "Can you squash this before I accept it?" leading to pointless delays and extra work?
That's https://github.com/blog/2243-rebase-and-merge-pull-requests; lets you choose squash and/or rebase as you merge.