At the moment, WHMCS is still the best solution. There’s a reason most major players use it. It has everything you need, and you can extend it as much or as little as you like.
The downside is the price, but if you want to reduce churn and offer a better service by providing a superior UI and better tools in your control panel, WHMCS is the only option.
If you're looking for a basic billing system for your hosting clients, Blesta is probably the second-best self-hosted option. It also has everything you need for billing and supports extensibility.