This was originally a post on /r/freelance over on reddit, but I'm re-posting here for posterity.

I've been at this for a fair while, and this is some of the wisdom that I've been told or learned, often the hard way.

The typical full-time employee costs a company 2-3 times their nominal salary

Use this as a basis for deciding your rate. $90/hr might sound like an expensive replacement for an employee getting paid $30/hr, but that $90 is the total cost, and stops immediately when the project ends.

A client asking for 6+ hours in a day will cost you 8 hours

You will achieve nothing useful (read: billable) in the remaining 2 hours. They've taken your whole day, but only paid for 3/4 of it. Charge a day rate instead in those situations.

Make time for downtime

Burnout is real, and it sucks. If you burn out, you'll lose weeks (even months) of work, so it's better to plan for time off instead. Try to build "annual leave" into your rates.

You're a business, not an employee

Some negotiation is fine, but ultimately you're engaging in a business transaction, so the client doesn't get to dictate working hours, rates, etc. They can suggest or request them, but ultimately you get to decide when and under what conditions you work. Which leads to...

Unreasonable requests deserve unreasonable rates

For me, "emergency"/"urgent"/"rush" work adds 30% to my applicable rate, with a minimum of 2 hours billed. If I have to drop my current project to "urgently" add a line of text to your website, you're paying me minimum for the two hours of lost productivity and delay on that other project. I find that if it really is an emergency, clients will happily pay, and if not, they'll prefer to schedule it in like any other change.

Set business hours, and stick to them

I work pretty sporadically through the day, and in the evening, but as far as my clients are concerned, business hours are 9-5, Tuesday-Friday. Any requests to work outside of those hours gets met with a 30% increase in rate. Note that this also stacks with the emergency rate (midnight emergencies will cost a minimum of 2 hours at 160%, even if it takes me 15 minutes). If I choose to work outside of these hours, I'll still charge my standard rate, but explicit requests will hit the higher rate.

Be upfront, honest, and candid

The worst time for a client to hear about problems with the project is the day before (or after) it's due. If you encounter problems, talk to them early and manage expectations. Maybe the feature you're stuck on isn't actually important enough to delay the project, or maybe the delay is simply communication issues. Either way, talking to your client earlier is always better than later. Often they're understanding, and will approve a minor adjustment to the timeline.

Hungry doesn't mean desperate

Don't bother chasing contracts that look like they're going to be trouble. All you'll do is spend valuable time on heartache and frustration. It doesn't matter if you're on your last dollar (and you shouldn't be, if you're charging right, but still), "no client" is better than a "bad client", because a bad client costs you more than doing nothing.

If you can't do it, somebody else will

If you can't fulfill a request from a client, you can support your freelance community by helping the client to find the person who can, or better yet subcontracting them yourself. Again, be sure to manage your clients expectations, but trying to take on work that you're unqualified for is a fools errand, while being open about it with the client breeds respect and good will.

Your project is infinitely more important to you than your client

This takes a little bit to really sink in, but ultimately this: every business owner is primarily focused on running their business as it is right now. For you, your business entails that project, so it's your primary focus. For the client, it's selling widgets, or booking llamas, or teaching sign language to squids. Whatever their business is, your project is not it. This is why clients sometimes seem disinterested, or take two weeks to respond on something that you think requires urgent attention. They're busy running their business, and you're just a risky expense. The only time when the client cares more than you is when they're losing money because of a problem with the project.

Although some of these things seem pretty obvious, you'd be surprised how long it takes to realise them on your own.