Checking that the Rewrite API is available

You want WP_Rewrite::using_permalinks.

<?php
add_action('init', 'wpse142273_add_rules');
function wpse142273_add_rules()
{
    global $wp_rewrite;
    if ($wp_rewrite->using_permalinks()) {
        // Plan A
    } else {
        // Plan B
    }
}

Here’s a larger example.

<?php
// inside a class somewhere
public static function url($area, $additional=null)
{
    global $wp_rewrite;

    if ($wp_rewrite->using_permalinks()) {
        $path = "/account/{$area}";

        if ($additional) {
            $path .= "https://wordpress.stackexchange.com/" . $additional;
        }

        if ("https://wordpress.stackexchange.com/" === $wp_rewrite->permalink_structure[count($wp_rewrite->permalink_structure) - 1]) {
            $path = trailingslashit($path);
        }
    } else {
        $q = array(
            static::ACCOUNT_VAR => $area,
        );

        if ($additional) {
            $q[static::ADDITIONAL_VAR] = $additional;
        }

        $path="?".http_build_query($q);
    }

    return apply_filters('frontend_accounts_url', home_url($path), $area, $additional);
}

Keep in mind that it’s a-okay to just blindly call add_rewrite_rule when permalinks aren’t in use. You’ll need to add custom query variables anyway (by filtering query_vars) so you plugin/theme can still work just fine without rewrites.