Scroll Calendar View so that it Centers (vertically) on page
One solution that comes to mind is to use hook_pager_link() to modify your view's pager links to include fragment/anchor that is in your view's header. This would work on the assumptions: 


You have custom unique text for previous/next pager links (e.g. "previous month"/"next month").
You placed an anchor link in your view header (e.g. &lt;a name="calendar"&gt;&lt;/a&gt;).


In your theme's template.php you could override like so:

function MYTHEME_pager_link($variables) {

  // If we are looking at pager links with our custom title 
  // use our modified theme_pager_link code:
  if (in_array($variables['text'], array('previous month', 'next month'))) {
    $text = $variables['text'];
    $page_new = $variables['page_new'];
    $element = $variables['element'];
    $parameters = $variables['parameters'];
    $attributes = $variables['attributes'];

    $page = isset($_GET['page']) ? $_GET['page'] : '';
    if ($new_page = implode(',', pager_load_array($page_new[$element], $element, explode(',', $page)))) {
      $parameters['page'] = $new_page;
    }

    $query = array();
    if (count($parameters)) {
      $query = drupal_get_query_parameters($parameters, array());
    }
    if ($query_pager = pager_get_query_parameters()) {
      $query = array_merge($query, $query_pager);
    }

    // Add our custom #calendar fragment
    $attributes['href'] = url($_GET['q'], array('query' =&gt; $query, 'fragment' =&gt; 'calendar'));
    return '&lt;a' . drupal_attributes($attributes) . '&gt;' . check_plain($text) . '&lt;/a&gt;';
  }
  else { // Otherwise fall back to core theme pager.
    return theme_pager_link($variables);
  }
}