You are right, the code that formats comments is mostly hard-coded in Geeklog (in COM_comments() and related functions in lib-common.php). Some minor modifications are possible using CSS for the commentbar1, commentbar2, and commentbar3 classes, but the overall layout can not currently be changed.
Creating templates here is not that easy because of the different display modes for comments. However, I'm not too happy with the current situation there myself, so this may be something we should be looking into for Geeklog 1.3.7 (no typo - we need to get 1.3.6 finished first).
You may want to submit a feature request so this is not forgotten ...
Regarding upgrades: Yes, you will lose all your changes to Geeklog core files when upgrading. We recommend putting custom code in lib-custom.php if possible, because that is the only file that you can keep when upgrading - all the others are usually so intertwined that you really shouldn't try to keep any of them.
If you need to make modifications to Geeklog core files, it's probably a good idea to keep notes of what you changed.