Sorting of coupons in the right way

Note that this part:

    'post_status' =>  'published',

should be:

    'post_status' =>  'publish',

You can then try the following:

$args = array(
    'post_type'              => 'gutschein',
    'pagination'             => true,
    'posts_per_page'         => '10',
    'posts_per_archive_page' => '10',
    'ignore_sticky_posts'    => false,
    'post_status'            => 'publish',
    'paged'                  => $paged,
    'meta_key'               => 'unixendet',
);

add_filter( 'posts_orderby', 'emti_orderby' );
$q = new WP_Query( $args );
remove_filter( 'posts_orderby', 'emti_orderby' );

where we setup a conditional ordering:

/**
 * Modify the order by part:
 */

function emti_orderby( $orderby )
{     
    global $wpdb;
    $time = current_time( 'timestamp' ); // Get current unix timestamp

    return "
        CASE
            WHEN {$wpdb->postmeta}.meta_value >= {$time} 
                THEN  {$wpdb->postmeta}.meta_value+0 - {$time}+0      
            WHEN {$wpdb->postmeta}.meta_value < {$time} 
                THEN {$wpdb->postmeta}.meta_value+0
        END
        ASC
    ";
}