I'd like to suggest two changes to both engines and life support:
1. Both engines and life support modules should scale more with hull size, both in mass and in cost. Presently, you simply get a whole lot more "Bang for the buck" by using the largest hulls possible. I don't see any problem in scaling the mass of engines/life support directly with the hull's mass capacity, before miniaturisation modifier. This would make small and tiny hulls much more viable options in late game, where currently the only small ships that are viable in endgame are those packed in carrier modules on your huge hulls.
They actually allready do (more or less)! Look at the ShipComponents.xml
<ShipComponent>
<InternalName>HyperDrive</InternalName>
[...]
<Stats>
<EffectType>MovesCapMass</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<ValueType>Special</ValueType>
<SpecialValue>
<Special>HullMassScaleMod</Special>
<ValueParam>8</ValueParam>
<ValueParam>0.05</ValueParam>
</SpecialValue>
</Stats>
[...]
</ShipComponent>
You can mod this... just wanted to point this out 
But in general I agree with you. Currently only large and huge hulls are only viable. The jump from medium to large is so big, medium isn't worth taking a second look. SD ought to take a look on their hul size stats in my humble opinion.
2. Fix engine stacking. At the moment, you can design ships to reach frankly ridiculous speeds in late game, with high enough engine tech/engine miniaturisation on the bigger hull types. The AI doesn't exploit engines the way a human player easily can, with 50+ movement fleets zooming around the galaxy and eliminating the military of large AI empires in just a few turns. I can see two solutions to this: First, and easiest, would be to make engines one-per-ship, and give them increased movement values, cost, and space requirements (maybe scale movement exponentially with tech level instead of linearly?). The second option that I can see, that would work with the current values for movement values and cost, is to reduce the effect of engine stacking to the square root, as was done for sensors. Either option would probably work, and would definitely make the AIs less of a pushover in late game.
I'm with erischild on this.
If the AI not using it is the problem, then the AI should be fixed. Making the AI use more engines is not particulary hard by modding. Something I see a problem in however is, that the AI also needs to research the hull size techs. This is a problem of balance though, because not all specialization techs are equally useful.
I would like to see many engines stay and the underlying problem to be addressed directly.