It depends.
If you're an indie developer and don't have to manage payments, 30% can be a good deal. IAP is really convenient and customers trust Apple, while is not sure they'd give money directly to you.
When you're a huge company, like Netflix, 30% is just too much, but even 15% isn't sustainable.
Before being regulated by the EU or be forced to change policies by a judge, Apple could do a couple of things:
1) allow apps to take the user to their website (open Safari, not a webview inside the app so it is clear that you're not dealing with Apple) in order to pay. It's ok if they get their cut when using IAP, but users should be able to know they can pay for the same service in a different way.
2) reduce their cut based on the amount of transactions. For example: 30% up to 1,000, 20% up to 10,000 and so on, so big companies with millions of subscribers get to pay a very low fee and although they can still offer discounts if you pay directly on their sites they aren't so damaged by IAP.
Right now, a company like Netflix doesn't offer IAP, so Apple gets 0 (I guess they still have IAP for old customers but I don't think there are many of them). If they asked for 1 o 2% maybe Netflix would be willing to turn on IAP again, Apple would get something and customers would have a better user experience.