I've always thought that the penalties for teleport error were a bit tame - you obviously will not teleport into a hostile situation (both because of the risk of error and the disorientation effect upon arrival), so any error either means that you're OK nonetheless (teleport error does not end in a solid object and near your intended destination) or you're not teleported and are stunned, which means that the only case where it would be an issue is if you're in a hostile situation when trying to teleport away.
Still, my take on it is : in case of error, determine the error direction in a 3D space (so including up and down) and distance. If it ends in a solid object, then no TP occurs and the character is stunned. If it ends in a fluid (liquid or gas), then TP occurs and the character deals with the consequences.
I use basic three axes to determine error direction (1-4 is NESW, 5 is down, 6 is up), and d100 to determine error distance. However, if you want more variety, you can roll d100-50 (OE) for each axis, so you get a full 3D scatter.
The second thing is that each character teleported rolls the error direction and distance separately. This spices things up a bit.
Another option, that I've never used but could have, is to forego error computation as the rules suggest and instead determine place of arrival by similarity: they do not end up where they wanted to, but in a location that looks like it but is not it, and can be quite far away from their intended destination as long as it is in range. After all, error is determined by familiarity with the place, so it seems reasonable to infer that an actual teleport error would dump the characters in a different, yet similar place. In this case, I would scatter around the actual point of arrival (people would be scattered, but in a relatively short area around the point of arrival).