While I appreciate some of the technical aspects of the script, silently dropping existing views scares the heck out of me. I'd recommend adding a parameter that would default to producing a list of views that were going to be dropped without dropping them so that the DBAs and Developers don't come after me with blood in their eyes.
I added a @Execute parameter (by default to True) that will permit to chose to really drop/create views or just produce scripts.