Easy solution: just don't use submodules.
The command line is a little obscure (at least, I can never remember the command to pull the latest remote changes first time) but overall the use of them is a lot nicer, for the way I work at least. Being able to have "local" edits to subtrees while still allowing remote updating and colleagues to clone the repo with the local updates is rather useful.