The best application or software really depends on you and what problem you are trying to solve.
Personally I use Google Calendar and Square for my client scheduling and billing as they integrate nicely with my various devices.
If you are interested in showing value through client progress, especially when it comes time for a resign, you should check out http://trainermetrics.com . It’s simply a fitness assessment and client progress tracking service that allows you to print reports.
I hope this helps!