Why should a browser allow its own shortcuts to be overridden at all? At the very least, some form of warning or permission-granting should be involved.
They're permitted to be overridden so that we can make web applications. It makes sense for sites like Google Docs or Sheets to override many of the defaults as, once loaded, it's replacing a desktop application and the common access patterns of it. It's less applicable (and very annoying) on sites meant for presentation or consumption of information.
That I would agree with 100%. It'd be nice to have a panel of all the shortcuts and their present meaning available, with the option to rebind them or remove site-local bindings.
The user could get the option to prevent (by default) changes to bindings, with the option to permit them on a site-by-site (or even page-by-page) basis; or to allow them by default and then deny them on a site-by-site basis.
Yes. Discourse does this to great effect. It searches the whole “page” by default, when all the content for the “page” isn’t actually loaded in the browser.