In my opinion, the most reasonable path to a productive CRM for most businesses is to build your own. This is the central tool that non-programmer users need in your organization, and there's no reasonable way to make a one-size-fits-all one that makes sense to use-off-the-shelf except perhaps in certain verticals with well-defined business models (barber shops, dentist offices, etc.) or with extensive per-business customization (Salesforce).
Super-big businesses can pencil the budget out to make Salesforce and a team of salesforce admins work (and probably more cost-effectively than the dev/ops spend necessary to do it in-house). One-man shops can make do with manually querying databases and using one-off scripts. Everybody else probably needs a small Rails/Django (or similar) app developed in-house, and some commitment of dev resources to maintain it.
You mileage may of course vary, but the level of integration a custom CRM app, no matter how basic, allows, will allow you to do a lot more with a lot less elsewhere. Support, if you have that, will be massively streamlined. Sales, if you have that, will probably be massively more productive with a single tool that pulls in billing information, internal metrics, and all previous communication in a single place, doubly so if your sales staff is empowered with some kind of report-builder that they can use without waiting for dev work to complete.