The solution is simple, just make a loading bar that takes 40 times what the estimated time to complete the task is, and let it run even when the task is completed. Now you got a progress bar that's reliable enough. :)