Actually if you have commercial experience with recompilers then you probably can do better than gpSP.. I have a mountain of things that I'd try differently. It's all really a function of time, though. Just want to give you a heads up as to what you might expect looking at it.
I agree with SteveM that a native port of gpSP is the best first move right now. I would go so far as to say that you might want to try getting a version with the interpreter instead of the recompiler going, so you won't have to deal with the extra slowdown and crashes in the SMC heavy games like Camelot ones. Or you could do a hybrid that falls back to the interpreter for RAM code. But the problems Pickle and SteveM had with porting it probably had to do with recompilation (code flushing).
The guy doing the Android port looked into it and found that Golden Sun 2 is triggering an SMC condition that gpSP isn't even catching, so it could end up crashing no matter what. So running the interpreter in RAM is probably the best thing. It can possibly be optimized a little - the ARM interpreter only uses an 8-bit switch as opposed to the 12-bit one on VBA, but I'm concerned that that one might hurt icache a lot more. Even if VBA's ARM interpreter beats gpSP's, it'd still be worth it to leverage gpSP's renderer which is much faster.
Another thing is that Golden Sun 2 output 64KHz audio which isn't supported in gpSP.. I worked around it on the code on my harddrive at some point and could probably contribute that as a patch.