There are a few things I've learned in my time of working freelance/having my own business. So, without further adieu, here are "10 Steps to Happier Clients":
1. The old adage is true: the client IS always right. The client is always right because they are paying you to do whatever they want you to do. That is what you have to remember. They may make a design or fiscal decision that you would disagree with, but they can do whatever they want. Feel free to give the client advice or an opinion, but in the end: the client is always right. Make sure you can handle that, or don't work with them.
2. Clients don't know everything about your business. That's why they're paying you. Most of the time clients just want you to do what you were paid to do and not fuss with it themselves. So, don't bother them every five minutes with questions. Just get the job done. Other times, a client is really picky and wants to do every little thing. That's when you need to have a conversation about how you can take the work off of the client's hands. They don't need to do anything if they don't want to. After all, they're just wasting their money on you if they're gonna' do all of the work.
3. Don't talk down to your clients just because you know more about a subject. People are not stupid, but I've run into too many contractors who treat them like they are. If you are an expert in an area then GREAT! You can get paid lots of money for knowing something. But, y'know what will stop you from getting that money? Treating people as though they are idiots just because you know more than them in whatever area they're paying you to work. If they don't understand something take some extra time to walk through it with them. Educating people won't steal business from you. In fact, your client may appreciate it so much that they'll refer you again and again.
4. Underpromise and overdeliver. Whenever I'm working on a project I tend to give the client the worst case scenario. I do this for two reasons: 1. I look really great when I deliver a product sooner and in better shape than they thought and 2. When something takes a lot longer than I thought I've allowed myself plenty of leeway.
5. Don't be afraid to say "no" to a client you don't "click" with, even if the contract could be very lucrative. Having a bad experience with a client will give the client a bad experience as well. This can potentially affect future income. Say "no" before you're deep into the project from hell.
6. Don't be guilted into working for free. There are a lot of volunteer things that I do in my life. I give time to serve in my church. I have developed logos and websites at a reduced cost for people. I have served in whatever ways I think are worthwhile. One thing I never do though is work on a project because someone has guilted me into it. All of us could work 40 hours a week for altruistic reasons, but you need to make money too. Pick and choose who you want to help out. That way, when you're working for free you know you're doing it with purpose.
7. Always overcommunicate. If you have talked about something on the phone follow up with an email. Document everything so you don't forget what you promised and the client doesn't forget what they asked for.
8. Keep a good record of your time. This can often help in negotiations with the client for future projects. It can also help the client to understand what he is paying you for. If they ever question that you've actually done work then you can point to the when and where of everything. Someday you may have an unhappy client who is wondering why it took you 10 hours to complete what to them seems like a simple task. With detailed records you can show the client every little step you have taken.
9. Don't "nickel-and-dime" the client. You want your clients to feel comfortable to ask you questions. If they know that every time they email you or call you they're gonna' get charged $100+ it could 'cause them to start looking for help elsewhere. Asking questions is not a bad thing. They may be thinking about hiring you again for a project that they're trying to think through. Also, questions help out with #10.
10. It's all about relationships. You can be brand new in whatever field you're working in, but if the client likes you and trusts you, you will get the business. On the other hand, if you're arrogant, don't listen, and talk about yourself like you are the god of your field the client won't want to hire you for a project where they will have to talk with you every day for the next month. Build relationships. Ask about family, friends, hobbies, life-goals. Do whatever you can to become someone the client wants in their life. Do that and you are well on your way to a successful business.