You could put a weak pull-down on the controller output pins, so that the input bias leakage from a TTL pin generates a detectable threshold.
The threshold must be measured with a comparator, since as you note, the voltage will not reach CMOS levels for the bus circuitry to read directly. (VIH(min) means, anything between that and VIL(max) (what, 1.5-3.5V?) may be read as high, low or indeterminate (e.g., unstable and oscillating!).)
A potentially deeper question, assuming it matters: how can you tell if the CMOS module is plugged in? The pins remain hi-Z and no current biases the floating bus pins (a weak pulldown is still recommended, so that a reasonably-well defined voltage still exists -- it'll simply be zero whether anything is connected or not). A cheap hack could be: a very weak pullup on just one pin, or a set of pins, so that you get a logic vector corresponding to "high Z" = '1' and "really high Z" = '0', which could then be looked up in a table to identify module type or revision or something like that. Another cheap hack would be sensing power supplied to the module, which again probably needs a resistor in the module, because static CMOS draws basically no current (but the TTL circuit would be detected just fine).
Tim