I can speak from experience, having been a freelancer for ~7 years now.
1) Do not sell yourself cheap.
In the wise words of the Joker, "if you're good at something, never do it for free." Offering a lower price because that's what the customer can afford or you want a foot in the door is fine. Working for an amount that's not even worth getting out of bed isn't. Also, you may as well forget about most offers on those freelance job sites. Unless you live in a country with extremely low living costs, $5 an hour won't really cut it.
2) Contacts, acquaintances, heard-about, etc.
You'd think that the age of electronic communications would make word-of-mouth advertising less important. Much the opposite, in fact, it's only gotten more relevant. I got into Combat Studios because I posted in a contact form saying I could whip up a web page that fed off a couple databases. I then got into The Tech Report because of my previous work at Combat Studios and Digitalmente (my own company, still a partner but don't work there). Scott saw some of my work at those two places and gave me an initial task, which I completed. Here I am now.
Scott led me to David Kanter / RealWorldTech. Another person reached out to me because of the work I did with RWT. Someone else saw my work at TR and wants me to freelance for their future project. My previous work with Digitalmente recently led to one of its former customers offering me a full-time salaried job. Get the picture?
3) Don't be afraid to reach out to people with confidence. You are more competent than you think.
"I'll fix your wagon fer ya." Everyone loves to hear these words. If you see a work opportunity for yourself, don't be afraid to reach out to the person in question. You'd be surprised at how often the reaction is "omg please we need someone to fix this!" I've worked for TR since 2010, but I've repeatedly kicked myself in the nuts for not contacting Scott sooner. I always thought that TR was something really difficult I couldn't handle, and it turns out that after all I didn't suck as bad as I thought I did. Who's the idiot? That's right, ME.
Another point: if there's a popular expression that's absolutely true, it's "the cobbler's son goes barefoot." You think that the other companies (big ones in particular) do everything really professionally and correctly. Hah. You wish. You tend to think that every other guy is a knowledgeable scientist that lives in an ivory tower. More often than not, he's really just as lost as you.
4) Multiply your estimates
Whatever your estimate is, even if it's an easy job, multiply by 1.5x. If it looks a little tricky but you know you can pull it off, 2x. If lots of learning is required, 3x. Multiply further if you're inexperienced in the field in question.
5) Be extremely careful about accepting rush jobs
If it's a regular customer, consider rush jobs carefully. Else, pass. It's often a disaster waiting to happen. Exceptions: if the person is very clearly aware that it's a rush job and/or is paying lots.
6) Be self-sufficient and self-managed as much as possible
Get a habit of taking notes, maintaining lists of tasks, presenting progress to customers. Be professional. Show yourself as someone that gets **** done. Personally, I'm sometimes a little too organized/straight, but I can attest that that trait has made me more than a little profit, as people like knowing their stuff is in good hands.
7) Most people care about goals and little about processes. Everyone's priorities are different
When you're discussing work to be done with people, speak mostly of the effect of that work and what it'll do for the person. Only go into the weeds if necessary. And perhaps even more importantly, different people have different priorities depending on their jobs.
Very recent example: i'm fixing a certain website, making it faster, etc. Lots of work. One of my bosses at that gig was "okay, I understand it needs to be done, it's true that the site is slow." But when I fixed a simple/stupid problem pertaining RSS feeds and newsletters, she was totally ecstatic. Why was this? She's in the marketing area. Learn to read people. At a personal level, stereotyping people is ugly and bad. At a professional level, it's fine and often a necessity.
8) You're the professional, you know better
If you're discussing work with a client and think that X is a bad idea, don't be afraid to say it, with varying degrees of care. Keep in mind that you are the professional, so you should know all about this stuff, and it's also your responsibility to speak out when "that great idea" = "future trouble." You are the professional, you're supposed to know better.
This works both ways: if you think that something should be done, consider putting your foot down. Keep in mind point 7 above, though, and explain your reasoning in terms of goals.
On a directly related topic: particularly in the computing area, learning to manage customers' expectations is a key attribute. The vast majority of people aren't technically inclined nor do they have any intention to be. It's up to you to put things clearly and concisely.
9) Resumés matter way less than you'd expect
See point 3 above. Once you're being offered work by referral, very few people will give a flying **** about your qualifications, height, color of hair, and underwear color. You'll be looked at and judged by your ability to get **** done and little else.
I realize many may not be as lucky as I was, but guess how many resumés I presented to this day? ZERO. Some of my clients don't even know my face or voice. All they care is that they have someone they can rely on. Heck, very recently, when I sent a client a quick summary of my work experience and qualifications, flat out said "we don't care much about those, at this point we just need someone with a clue."
There is a fixed amount of intelligence on the planet, and the population keeps growing :(