For instant access to a client's computer, you don't have many free options. In fact, TeamViewer is not one of them. It requires that you purchase a license for commercial use.
Most tech support corporations pay big bucks for custom remote assistance software, or they develop their own.
Why would you want to replace TeamViewer? Simple: its protocol downright stinks. It's slow, it's slow, and did I mention that it's slow? RDP, when configured properly, tends to be the fastest, with VNC following close behind.
One option could be to configure your own VPN or similar "dial-in" system, then find a VNC client that allows you to configure it on your end, then distribute the client preconfigured to clients.