When you go to the garage, you don't tell the guy:
"please change the oil, the filters. And check the a/c system, it makes some strange noise. In addition of that do a wheel alignment check and automatic transmission flush. You have 1.23 hours and I'll pay you $97"
You ask him how much time he will need, and how much he will asks. Even if your are a specialist yourself knowing how much time he should take, and how much he should charge.
If you doesn't agree with the time he needs and/or the amount he charges, you go to another garage right?
That's pretty much the same here. Your worker, the specialist, the one that will do the task, should estimate it himself.
At a team level, team should be responsible of it. To avoid too much variation in estimations between team members, a consensus based estimation methodology should be used like Planning Poker.
Now how to deal with your current manager?
Unless you are able to convince him using the argument above just by telling him, you will have to work with it. Very few managers are able to "change" on the impulsion of their people so fast. Most of them will never change.
- Each time you are assigned with tasks along with his estimations send him your figures back politely.
- Use evidence of your allegations by pointing past experience on tasks that takes more time than initially planned.
- You will have to repeat the cycle above a lot of time
- You will need patience, determination and courage. Ivan Pavlov is your friend here.
Eventually, he will change his mind and adopt the system described above.
But your manager is probably a parkinsonian. In that case, call Ashton, and ask him for advices. Because he is probably not going to change.
Don't worry for him after you left, he will find another developer to abuse.