What about a prompt when students accept an assignment to automatically create a new branch for their work (and/or the system could block them from working directly on master)?
Excellent points! There are actually 2 ways that we can do this.
1) Although there isn't a prompt for branch creation, there is the ability to switch to a branch if you attempt to make a commit on master (at least on GitHub.com) without being on a branch already.
2) To block a student from working on Master, you can protect the branch! In the Settings tab of your repository, you can select Branches, and find the protected branches menu.
There, you'll find a screen like so:
Here's some extra documentation: https://help.github.com/articles/about-protected-branches/