// let's try to stay on the same page after submitting the form
  $arguments = $_GET;
  unset($arguments['q']);
  $form_state['redirect'] = array($_GET['q'], $arguments);

What would be the best way to handle this? Should the path (minus arguments) be assigned to a variable and call drupal_get_path_alias() on it? Would submitting it via Ajax be a lot of trouble (the same way filters and pagers are submitted in ajax enabled views)?