"Нельзя менять" - это крайне нездоровая хрень.
Из костылей можно сделать так: 
/* Далее всё что угодно */
$(function(){
  $('a[href^="#"]')
    .off('click') // отменяем поставленные ранее кем-то обработчики
    .click(function(){ // ставим заново общий
      var sc = $(this).attr("href");
      $('#hideme').hide(1000, function(){
        var dn = $(sc).offset().top;
        // sc - в переменную заносим информацию о том, к какому блоку надо перейти
        // dn - определяем положение блока на странице
        alert('Положение блока на странице по вертикали '+dn+' (Ошибочное)');
        $('html, body').animate({scrollTop: dn}, 1000);
        // 1000 скорость перехода в миллисекундах
        $('a').remove(); // удаляем все ссылки на страницые, это точно нужно?
      });
    });
});
Второй вариант - поменять метод hide jquery добавив какую-нить отсебятину, например: 
$.fn.hide = function(hide){
  return function(speed, callback) {
    this.trigger('hide');
    return hide.apply(this, arguments);
  }
}($.fn.hide);
 и соответственно на on('hide') повесить всё нужное.