From my perspective I don't see an issue with hive-exec.jar being a fat jar, since it really simplifies running Hive queries. With all dependencies repackaged as a fat jar there's nothing else to "add jar" or put on your classpath.
It is challenging to build tools on top of Hive though because of the fat jar classpath surprises. The area I think could be improved is publishing jars of each subproject independently, as well as hive-exec. For example, I think users would get a lot of value from publishing hive-ql.jar for use by other project that integrate with Hive.
Hive queries would continue to work as they do today, and people building tools on top of Hive could also control their classpath. Thoughts?