Apologies for the double post, but I figured it was better than cluttering an already huge wall of text.
After doing a few more tests on GCN and Wii, I've come up with the following -
- Wii needs to be aspect corrected from 720x480 to either 640x480 or 853x480, then cropped horizontally and vertically. This was confirmed by the circles on the main menu.
- GCN needs to simply be cropped horizontally for Swiss/240p Test Suite since it already uses the full horizontal resolution and outputs at a correct aspect.
- Super Mario Sunshine needs to be cropped horizontally, then aspect corrected to 640x480, then cropped vertically.
Here's an example of the difference in correction needed for Swiss/240pTS and SMS;

As you can see, SMS actually has to be compressed horizontally a decent bit more than the native output for it to be correct.
I tested a couple of other games, the easiest one to test was F-Zero GX since it has the emblem editor which has some nice squares. It seems to have the correct internal aspect for 4:3, and just needs cropped properly. The 16:9 mode as well requires the uncropped 720x480 to be stretched to 853x480, then cropped for it to display correctly.
Interestingly, it displays in a different place horizontally again to Swiss and 240pTS. I've figured out a decent what essentially amounts to an overscan crop, so that's all looking good now at least. I still have absolutely no idea what's going on with SMS though, and why it has such a weird output.
EDIT: Found out what was causing the GCN output to be inconsistent horizontally - 240p/480i is further to the left, 480p is about 4 pixels to the right. Any idea how I can fix this with the OSSC?
Never mind, for once I actually figured it out!
Setting the 480i H. Backporch to 58 and the 480p H. Backporch to 57 lines up the two video modes and also centres them perfectly.