I can add to your list the Open Zeppelin. It contains some secure contracts with best practices. We will use some of their contracts during our project's called "Jincor" ICO
Returning to your question I would like to say that there are no "The Right Way" of doing ICO from technical side. Just because it's very different from business side) There are some best practisesThere are some best practises which you can find on Github.
I'd also like to suggest you to go through the source code of contracts of ICO's you personally like.