Hi Evan, really thanks for this post. I will try to steal your travis script :) :P
I also moved recently from Medium to github pages (github.com/kalinchernev/kalinchern...) and I also bumped my head against the wall with the master branch trick. My deployment scripts are also just fine for the moment (github.com/kalinchernev/kalinchern...) but I'll try to make use of your example :D
By the way, on my similar journey like yours, I met several other ideas and concepts:
Basically, we're trendy! It's the cool way to make personal sites and blogs nowadays :))
Yeah I found it kind of annoying that you can't serve a user or org site from a specific directory on master like you can with the docs folder on the project sites. Though once I got it set up with Travis, I did prefer that way since it keeps the built files separate from the source code.
I didn't know about that gh-pages node module, it looks pretty handy! Thanks for the links, I'll definitely check them out.