Yes, I think the key to making such a system work is by NOT allowing players (or AI's) to select specific techs, but simply to assign science resources (beakers) to streams of techs (like military, commercial, health & science, industrial and civic & cultural) The problem with the SMAC model was that it took the control issue to FAR in the other direction-allowing almost no control whatever in what techs you could get. I would prefer a 'middle of the road' strategy, which allows you to assign what % of your research budget goes into each stream and, therefore, effects how often you get a tech from that stream. However, as many techs would possibly come from multiple streams, then this will vary the rate of aquiring some techs in a stream over others. Another factor which would effect what tech you get, within a stream, would be such things as the strategic/luxury resources you possess (and how much) your civ chanracteristics, how many other civs-that you are in direct contact with-have the tech already, and whether or not you have learned of a specific techs existence. This would help to restrict 'bee-lining' and have a great mixture of determinism and randomness that would increase the replayability of the game!
Yours,
Aussie_Lurker.