Excluded category from loop

Can’t really help with custom Genesis code, but the WordPress way to modify the main loop is to filter pre_get_posts.

To exclude Category ID 7 from contexts other than single post pages:

function wpse72961_filter_pre_get_posts( $query ) {
    if ( is_main_query() && ! is_singular() ) {
        $query->set( 'category__not_in', 7 );
    }
    return;
}
add_action( 'pre_get_posts', 'wpse72961_filter_pre_get_posts' );