wp-super-cache exclude file from caching

Rather than incorporating dynamic content into cached pages, you are better off using AJAX to pull dynamic content onto those pages in the browser.

In your news.php file, simply have an empty element that will contain the content. Better still, have it contain an AJAX spinner that indicates that content is coming.

<div id="late-load-news">
    <img src="https://wordpress.stackexchange.com/questions/70813/<?php echo get_stylesheet_directory_uri(); ?>/images/ajax-loader.gif" />
</div>

Then use jQuery to load your news content — this code goes in your theme’s functions.php:

/**
* AJAX handler to output an HTML fragment for news
*/
function wpse_70813_news() {
    // stop browser from caching output
    header('Pragma: public');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');

    //...output your news content here...

    exit;
}

add_action('wp_ajax_late-load-news', 'wpse_70813_news');
add_action('wp_ajax_nopriv_late-load-news', 'wpse_70813_news');

/**
* enqueue jQuery
*/
add_action('wp_enqueue_script', function() {
    wp_enqueue_script('jquery');
});

/**
* add footer script to load news
*/
add_action('wp_print_footer_script', function() {
    ?>

    <script>
    jQuery.ajax({
        type : "GET",
        url : "<?php echo admin_url('admin-ajax.php'); ?>",
        dataType : "html",
        data : { action: "late-load-news" },
        success : function(content) {
            jQuery("#late-load-news").html(content);
        }
    });
    </script>

    <?php
});

That will load the content every time a visitor navigates to a new page. If your news content doesn’t change much, I recommend you make use of sessionStorage to cache the news content in the browser for the duration of the visit. If you want to limit how long that cache lasts, see Session storage with expiry time.