dynamically filter by category via sub-menu

What you seem to be asking is relatively easy with a filter on pre_get_posts.

function set_post_type_for_category_archive_wpse_101930($qry) {
  if ($qry->is_main_query() && $qry->is_category()) {
    $qry->set('post_type', 'news');
  }
}
add_action('pre_get_posts','set_post_type_for_category_archive_wpse_101930');

That will hijack your entire category archive. That is why I asked if you “want to force your category archives to only show posts from the news post type”. From your response, and your code, it seems like you do.

By doing that, you won’t need the category-%n.php files at all, just the category.php file.