WooCommerce exposes the value of a coupon added to a cart through WC_Cart::get_coupon_discount_totals(), couldn’t you just loop through each coupon added to the cart and remove coupons where the discount is 0?