Querystring in Views ajax_view.js
I had a similar problem where I wanted to link to filtered versions of an ajaxified view, but the aforementioned line of code in ajax_views.js prevented the view from displaying all results when all filters where cleared. In my use case, I wanted all views filter identifiers removed, but in yours, as I understood it, you need the clicked filter value removed, so you could modify the code accordingly.

The first step is identifying all valid filter identifiers. We want to do that, so we don't parse out all of the query string's parameters, since some of them might serve another functionality. If you don't care about creating a dependency to the better_exposed_filters module you can find the views identifiers from Drupal.settings.better_exposed_filters.views.[view_name].[view_display].filters.
Otherwise, you could expose them in your own Drupal setting through a views hook:

function hook_views_pre_render(&amp;$view) {
  if ($view-&gt;display_handler-&gt;has_exposed) {
    $valid_identifiers = array();

    foreach ($view-&gt;filter as $name =&gt; $filter) {
      if (!$filter-&gt;options['exposed']) {
        continue;
      }

      $valid_identifiers[] = $filter-&gt;options['expose']['identifier'];
    }

    drupal_add_js(array('validViewsIdentifiers' =&gt; $valid_identifiers), 'setting');
  }
}


So, now we have the identifiers and in our custom js file we can change the related properties of the views instance(s). The code for my use case is the following, but you can change accordingly:

Drupal.behaviors.fixAjaxQueryString = {
  attach: function(context, settings) {
    if (!Drupal.views || !Drupal.views.instances) {
      return;
    }

    for (var i in Drupal.views.instances) {
      var instance = Drupal.views.instances[i],
          url = instance.element_settings.url;

      // Check for any valid views filter identifiers and remove them
      var validViewsIdentifiers = Drupal.settings.validViewsIdentifiers || '';
      if (validViewsIdentifiers) {
        url = decodeURIComponent(url);

        for (var j = 0; j &lt; validViewsIdentifiers.length; j++) {
          var regExpr = '\\&amp;?' + validViewsIdentifiers[j] + '(\\[\\])?=[^&amp;]*';
          var regExprObj = new RegExp(regExpr, 'g');

          url = url.replace(regExprObj, "");
        }
      }

      // Only the .options.url part is needed for the desired functionality
      // The rest is modified for consistency
      instance.element_settings.url = url;

      if (instance.exposedFormAjax) {
        instance.exposedFormAjax.options.url = url;
        instance.exposedFormAjax.element_settings = instance.element_settings;
        instance.exposedFormAjax.url = url;
      }

      if (instance.pagerAjax) {
        instance.pagerAjax.options.url = url;
        instance.pagerAjax.element_settings = instance.element_settings;
        instance.pagerAjax.url = url;
      }

      if (instance.refreshViewAjax) {
        instance.refreshViewAjax.options.url = url;
        instance.refreshViewAjax.element_settings = instance.element_settings;
        instance.refreshViewAjax.url = url;
      }
    }
  }
};