We have spent a lot of time at Zaprite thinking about gap limits, and how to optimize the payment experience for merchants and payers, while working within the limitations.
Yesterday we published a blog post outlining how we manage address generation and reservation for xpubs within our platform:
https://blog.zaprite.com/optimizing-address-usage-for-the-gap-limit/
We welcome feedback and questions!