The key is to divide your milestones in very small tasks in hours and communicate this detailed hourly plan with your total estimate. Update your manager/client about your progress as frequently as possible. Twice a week if not daily.
During the project, if you realize that your estimates were originally wrong, fix it asap and communicate immediately. Frequent communication is the key.