Wouldn't it just be significantly easier to simply change the URL art style to make clear that HTTP is "insecure." Like a red broken padlock on every HTTP page?
That has the following advantages:
- HTTP remains fully working for internal/development/localhost/appliance usage (no broken features).
- Users are reminded that HTTP is not secure.
- Webmasters are "embarrassed" into upgrading to HTTPS.
- Fully backwards compatible.
Seems like a perfect solution where everyone wins.