I've negotiated many things. Domains names, job offers, acquisitions, what features to include in an upcoming software release with my cofounder, etc.
So whenever I see a book or blog post about "how to negotiate", I laugh a bit inside, because I just don't think you can learn how to negotiate this way. I think the only way to learn how to do it well is to, well, do it.
Pretty much every single negotiation I've been involved in is completely different. You can't generalize. Everyone wants something different. The goal of every negotiation is different. Your counterparty is unpredictable, and their behavior is a result of many things you can't control.
So if you try to generalize your approach, you will probably do something dumb. And that really sucks, because even getting to the table probably took a lot of effort.
So here's my actual advice about negotiating:
Don't lie. Be honest. Know what you want. Know what you have. Communicate quickly.
That's it.
Final point I want to make: you don't "win" or "lose" negotiations. A good negotiation means both sides win. So please don't think of it in that way; if you do, you're starting off on the wrong foot.