You have a few options. Firstly you will need to decide what is the likely, minimum and maximum number of people that will be using the application and how they will need access to it.
Low maximum < 100 users. You can use ad-hoc distribution with 100 devices using a normal apple developer account.
High maximum (Clients don't need to be able to download the app themselves). You can use an enterprise account (As you mention could be lightly risky as it may be breaking their terms not 100% sure, would merit some further reading. If you can go through the approval process shouldn't be to hard).
For both these methods you can then distribute the application using a distribution solution such as Silverback or for cheaper options that will require more effort TestFlight or HockeyApp (Not their original purpose but will function for what you need)
High maximum (Clients need to be able to download the app themselves). You can use Apples B2B solution or if you have an internal sign up process something like Silverback.
Another thing you should look into is showing your customer that a) approvals don't always take 15 days for updates (They initial process of putting it on the app store is longer) and b) you shouldn't be having countless versions being uploaded all the time.
You should also explain that you instantly gain access to new customers that can stumble upon your application generating more business and potential customers are more likely to trust an application from the appstore.
I should also mention although silverback is the only MDM/alternate distribution I have used it is very pricey and I'm sure there are cheaper alternatives.
Just to elaborate on the enterprise license use. Are the customers part of a large organisation? One of the projects I worked on was with a large company that needed to distribute applications to 1000s of employees. We asked them to apply for an enterprise license and make us users on the account allowing us to use ad-hoc distribution with and enterprise license. There was a major draw back from this as their IT support manager whom created the account left after 6 months and didn't hand off his email account which lead to all the profiles on the enterprise account expiring which meant a day of downtime for the application.