I have found that the best middle ground is to work with the developers and project team to set deadlines and project milestones. While down to the tenth of an hour estimates are not necessary, there have to be goals to hit.
The best managers are going to let the developers provide their own estimates, and then calibrate the timelines accordingly. Some people are good at estimating time. Others are horrible at it. The project manager needs to know their team well enough to account for those factors.
The of thumb that I have always worked with is double the estimated time. Under promise and over deliver. This does lead to some grumbling up front, "It is going to take HOW long?!" But after successfully delivering ahead of time, enough times in a row, people come around.
The biggest challenge is keeping people honest. Some people have a hard time admitting that they are not going to make a deadline. It is important to give those people room to fail, so long as they are responsible about it. "This deadline has some flexibility, as long as you give me 48 hours notice that you are going to miss it. Don't come into my office the day I am expecting a deliverable and tell me that you need another week."
The other side of that is having to be a good manager, and push back on the business team to give the developers room to work. "We told you we would deliver it by X and we are still on track to deliver it by X. STFU you about your cranky client whose expectations you cannot manage despite us being explicitly clear with you about what our timelines are. And no, we are not going to add that extra feature that you promised them but failed to include in the scope."