How to exclude a hook function from the hook list? For example, there is some module (some_module). The module contains some hook (some_module_some_hook). I need to this hook function didn't execute. For example, I'm not satisfied its code and I want to refactor it, but don't want to use patches.

Is there an opportunity to switch off this hook function (some_module_some_hook) ? For example, I want to switch it off and define in my module a new function implements this hook but having my code.
How to do it in Drupal 7 ?
You can implement hook_module_implements_alter(). For example to remove the cron hook from the system module:

function MYMODULE_module_implements_alter(&amp;$implementations, $hook) {
  if ($hook == 'cron') {
    unset($implementations['system']);
  }
}