Indeed, discoveries are the least foreseeable thing since you never know when someone will go "Ah ah!" and get the breakthrough that will enable the project to be completed. Some things, like designing a new craft, could be planned, given existing knowledge of all the modules, since it is more engineering than actual research (in fact, that's what defense departments do: Open up a call for new something proposals when they identify a need, with a deadline for the weapons companies to reply), but all the fundamentals like researching new technologies to try to understand how the hell they function should be highly random.
What would be cool is a system where you can assign interrogation of certain VIPs to help with a research project. Stuck on your flying development? Ask a guild engineer! Can't figure out voodoo? Ask an Esper!
Having some kind of not-normal, not-flat distribution that has a fairly reliable mean but also the possibility of outright getting stuck, coupled with a mechanic for getting unstuck (researching related tech, interrogating VIPs, reading books/data disks) would be a much better system.
But totally predictable research times, especially as we already have totally predictable breakthroughs ("research X and Y and that'll cover the pre-reqs for Z, now you can research it") makes no sense. Research sometimes fails or takes forever, and what if none of your brainer thinks of Z to make the research proposal, uh? Research times should be random and research completion should randomly open access to other research projects instead of 100% of the time.
Something like:
1 - Start research project X. It takes a random number of scientist-days, with a small chance every day that further progress is impossible. If you get stuck (and the lab should report it in the progress, like it does for Excellent and other statuses), go to * without cancelling the stuck project.
2 - Complete research project X. This was your last dependency for both project Y and Z.
3 - You get a chance of getting Y or Z as available projects, a chance of getting both and a chance of neither.
3a - You got Y, when finishing the research of Y, Z has a chance of becoming available. If you fail that, see *.
3b - Same but with Y and Z swapped
3c - You got both, lucky you!
3d - You got neither, see *.
* - Start another project. This can be VIPs, data disks, books, etc. that have no chance to fail and have a chance of "unsticking" research projects, and sparking new ideas (ie making a research project for which all dependencies are done but which wasn't available yet available). Different things can be set to only being able to spark and unblock certain projects (like an engineer won't spark or unblock voodoo, only construction related stuff, similarly, an esper won't spark or unblock construction, but will for voodoo. Old Earth Books can spark/unblock any early-mid game tech, Liber Occultus can spark/unblock voodoo or demon stuff, Data Disks can work for anything, etc.)
All the chances mentioned above would be influenced by the number of scientists working on the project: The more scientists, the more likely you are that one of them has an idea for a following project. The more scientists you have, the less likely you are of getting stuck. This becomes an incentive to put more scientists on a project, even though it will waste a few scientist-days on the last day.