I tend to go by whatever salaries random and non-random recruiters tell me about jobs they want to put me in. They usually don't say it right up front but if you seem even remotely interested they'll at least give you a range if you tell them you won't talk further unless you know it. I don't tend to do that since I'm quite happy where I am though. I work near Toronto and that Robert Half tool seems about right. Then again, the recruiter I keep in touch with (he got me into the job I have today and I helped him fill another DBA job) is with Robert Half so it stands to reason. Based on all that information I'd say I'm fairly compensated.
As for negotiation techniques, I'd say the best one is to have them say a salary number first. Then you can go up from there. I don't get too aggressive, just treat it the same way as negotiating a price on a car or house. They don't intend to get the asking price so just offer something a little more advantageous to you and they probably won't even bat an eye. Worst case they say no or counter, unlikely they won't want to go forward with the job offer. In the past I've bumped up a starting salary from their initial offer by 10% and 7.5%. One I was perfectly happy with the starting salary but asked for 3 weeks of vacation instead of 2 to start. The first person who says a salary number is at a disadvantage, so just try to make sure it isn't you. Also, it's much easier on the nerves to negotiate when you still have a job and you're looking at a new one. But negotiating even a small salary increase right at the start will pay huge dividends later, especially if it's a place that has salary based bonuses and benefits.