Yes, there is logic that resizes instances within Azure Web Apps every couple of hours based on need. Since this sounds business critical, I would suggest scaling at least 6 hours before. In the above error message, you should have been able to ingest at least 18 additional instances. You should always take whatever is available at the time so the internal logic will add more instances when it runs again.
The best practice for large scaling in the cloud is to give yourself enough time. You may find that you need even more than 6 hours if you're doing very large scaling. Basically, the more instances you plan on needing, the earlier you should start your scaling requests.
The above is best practices for short term. Long term, you should look into using Azure Traffic Manager (ATM) and setting up your web app in multiple regions. This way, if a region is getting hit hard, you can scale your apps out in other regions that will likely have better availability. ATM will also allow you to place instances closer to each customer for better overall performance as well.
Please let us know if there are any other questions we can assist you with.