CiviDiscount does not auto-apply when filtering on contact type
This may not a long-term fix, but I found a fix in the CiviDiscount github issue tracker.

The underlying problem:  CiviDiscount source will not apply discounts to events with no coupon entered.

The fix:  Add exceptions so that CiviDiscount will apply auto-discounts even if no coupon is entered.

Here is a link to the fix, hopefully this fix or a comparable fix will make it into the next version release.

https://github.com/dlobo/org.civicrm.module.cividiscount/pull/98