Alternatives to Commerce Coupon / Discount
Both of those modules have caused me headaches, however I know of no alternative.

In order to fix the bug you need to ideally step through Commerce Coupon and Commerce Discount's implementation of commerce_cart_order_refresh and commerce_cart_line_item_refresh.

Line items kept getting deleted for me when they didn't have a properly formatted price.

By implementing my own commerce_cart_line_item_refresh I was able to fix any problems with line items before their code ran.

If I was to do a discount / coupon system again and the spec was not too complex I would be tempted to write something from scratch as both of those modules are suffering from a bit of bloat.