Thats a bug of apt... There should be an apt fix-my-system command that just looks at the state of everything, and figures out how to get everything back towards a working system.
And make sure it keeps a log of everything it did so it can be rolled back if it doesn't work as promised.