It just needs a more elaborate story.
I think they ran out of time honestly. The story writers im SURE had more in mind.
If they actually had the time - they should have done it something like this:
For example ... I freed orpheus, teamed up with him, and became a mindflayer.
Then near the end battle, I fought The Emperor.
However, I should have the ability to to not finish him off. Maybe, each time I kill off an enemy, like the dragon, the Emperor talks, and I have to pass some checks, maybe based off some of the things I did with him throughout the game. Bringing up the dragon, the founding of baldurs gate, orpheus, if you romanticized him. If you pass enough of the dialogues, you can change his mind, and he then joins you for the final fight, and maybe leads to curing you of the mindflayer status...which is my major problem with the ending.