I think the basic idea of a check sum is to add all the bytes in the ROM together (of course keeping only the low 8, 16, ... bits), and this is how the SNES checkum is done.
This is quite easy to bypass however, for example if they would remove your "jsr checksum" by 3 "nop" instructions, they would have to compute what difference between the bytes it makes and compensate for it somewhere else. However it would certainly stop cartmoders, so I would strongly encourage you to use at least this if not something more complex, because I agree those guys are really not respectful to other people's work and I'm pissed by them.
To have a harder hash to hack than a check sum, you should not do only the sum operation but a combination of :
sum, exclusive-or, substraction, shifts or rotates
and not only with the bytes, but also with their addresses, so that if bytes are the same but in a different order, the hash changes and the test fails.
Possibilities are endless really and I'm sure you could make a simple algorithm with a unique hash that could be a pain in the ass of those annoying "cartmoders" which rip people off and steal our work.