Perhaps, the problem is that everything has a separate and distinct animation. It may be beneficial to try to make certain interactions more...automated. Let the computer handle the adjustments needed.
In the case of kissing, it would be cool if there was a way to program a "slot" onto each Sims' mouth. That way, when they are directed to kiss, the lips could be programmed to meet automatically, despite varying heights. Slot A could telegraph to Slot B it's location in 3 dimensions.
The "run up" for each interaction would be the same for all Sims. However, at a certain point, the computer would take over the calculations to align and to smoothly complete the movement. On the fly, Slot B would automatically make the adjustments necessary to "dock" with Slot A.
As it is, there is already a system that allows one Sim to know where another Sim is located and to track their movements. What I propose is taking that technique several steps further. It's possible that it could be adapted for all types of interactions -- playing the piano, reaching for a baby, washing dishes, etc. The Sim's rig would always sense the location of the Sim or object that it needs to interact with and it will adjust movements accordingly.
I supposed that the technique that I described is too advanced (or expensive) for now. However, perhaps it, or some other technique, would make it possible to have varying heights in a future game, without all of the redundant animations.
I have to wonder, though: how do the MMOs do it? Those games have avatars from a wide spectrum of shapes and sizes. Yet, they all seem to manage to interact with each other just fine.