It is challenging, but the following efforts may help to make budgeting projects a success
1. Develop project scopes and cascade it down into WBS as specific as possible so as not to leave any big missing items.
2. Use professional experience, references to other similar projects and expert's advices with up-to-date information and data.
3. Predict risks and uncertainties with best, base and worst scenarios analysis.
4. Put reasonably sufficient buffer in the budget plan.
It would be very difficult to provide an accurate estimate for a big project or a project that may run years before closure. To some extent, it is not a problem of capital availability for the project but how to manage sponsor's expectations. Therefore, the project risks and limiting elements to accuracy need to be communicated well and updated with the sponsors and confirm their buy in on a regular basis.