You should be able to achieve this using wildcards in your layout specification. I.e. for submodule1
you would do
git svn clone --trunk=trunk/submodule1
--branches=branches/*/submodule1 \
--tags=tags/*/submodule1 \
http://path/to
(assuming you also had tags following the same pattern). Repeat the same for the other submodules.
The --prefix
option has nothing to do with this. It just controls how the branches will be named in the resultin git repository. Without the option, all branches will go straight under refs/remotes/. If you'd like something more like the usual remote branch layout, you can use e.g.
git svn clone --prefix=svn/ ...
to get refs/remotes/svn/trunk, refs/remotes/svn/branch1
etc. The value is prepended verbatim to the resulting branch names, so you need the trailing / or you'll end up with something like refs/remotes/svntrunk