How to account for empty key values in wp_query?

how do I include those posts that don’t have an entry?

You can include those posts (which do not have the expire_date field/meta) by adding a second clause with 'compare' => 'NOT EXISTS', and then set the relation to OR:

$query_args['meta_query'] = array(
    // the relation between the root clauses/queries; defaults to AND
    'relation' => 'OR',

    array( // root clause/query 1
        'key'     => 'expire_date',
        'value'   => date("Y-m-d"),
        'type'    => 'DATE',
        'compare' => '>=',

    array( // root clause/query 2
        'key'     => 'expire_date',
        'compare' => 'NOT EXISTS',

So actually, you just needed to remove lines 15 and 9 in the code in question.