The thing that helped me the most personally with my estimate accuracy is estimating times beforehand, and then tracking the actual time and evaluating the accuracy of my own estimates. This is partly to get out of the mindset of trying to explain why past estimates were over/under and focus on being more accurate in the future.
It's funny, we've got the ability to do that at work, we track our time in 15 minute blocks and break each task down. As an agency (maybe it's the same everywhere), I think there is wild external and internal pressure against giving accurate estimates. When you get in the room with the project managers and the sales people, you can see their eyes rolling as the costs escalate. "How long is implementing Google analyti…
Most of the objections I see to estimating are objections to their abuse.