Don't know if there is a general method used by Nintendo...
but you can try these things.
1. Systematically change a single variable in the game (dunno if it's doable with SMG though), save the game... note the change and the savegame file.... gathering enough values to analyze the checksum function used... If the checksum function is complex you won't get anywhere with this method though
2. Disassemble the relevant game dol, find the function that does the actual checking, now you can either
a. Patch the return value of the function so that it always return the expected result.
b. If you have usbgecko, dump the memory and you can get the calculated checksum by just observing relevant address or registers.
3. Lurk at the segher's git, to see how that checksum function might look like... There is the zelda&lego batman checksum fix tool there...
[
git.infradead.org]