For me, your second blocker has boiled down to a simple weekly cronjob:
0 9 * * 0 certbot renew --renew-hook "service nginx restart"
I'm sure there are cases where restarting nginx willy-nilly won't fly, but for non-mission critical it's wonderfully simple.
Cerbot is also great for the initial setup. I just add the non-SSL entry, run `certbot --nginx` and follow the simple prompts.