Hey, I've been playing this game on and off for the last 4 years, and I love the game. I decided to look for information on how to speedrun MJ, but I never went through with a full game run outside of a 13 hour attempt that got to Heal League. Here's a bit of information that might help out with runs going forward.
2BM (2 Berry Method) - Discovered by r/MagikarpJump The optimal and best way to spend coins in on the first 2 berries, Oran and Sitrus. You want to have them as close as possible in the JP they give. This is because every 2 seconds in your pond, your weakest berry will spawn. This isn't optimal for all routes you guys run, because some of them are short enough that doing training is faster than food ever will be.
Lag Frame - on some versions (android and android emulator, at least) you can react to the frame a berry spawns in the pond by focusing on the bubbles. They will lag for a frame, and it helps you get the timing down for the fastest you get a berry.
Diamond Routing - This is something I've thought a lot about, and has given me as much trouble as I've had trying to route any%. Starting a new file, you have access to a lot of diamonds, and I've come to the conclusion that Power Plus is the best item for the speedrun by a mile. This is because it gives 50% more JP from everything for an hour and a half. On the surface, it would only seem useful for runs that are under that time, so not that good for any%, but you look at this next trick...
Time Travel - The legality of this trick might be an issue. Basically, you pop a Power Plus, then go to the system settings in your mobile device and set your time back a month, or whatever. This makes the power plus last the entirety of the time you set back. (This also is something that affects training timers and friendship item pokemon timers, so make sure they are active when you set the time back, and they will remain active) (this also applies to Gengar) Before I found this, I estimated any% to be about 25 hours, but this should save several hours, up to 15. The best use of this might be to set it forward a small amount to refill the pond with food, giving insane efficiency in how much JP/minute you can gain.
Opening Multiple Pokeballs - in the pond, you can actually open several golden or red pokeballs at the same time by touching them roughly at the same time. It's easiest with 2, but you can do more. This saves the little animation of a textbox opening and closing.
Skiplup - Piplup is one of the required friendship item pokemon, and they give you training points. Usually, you touch Piplup, wait for a few seconds, then you get a textbox saying she gave you TP, then you can close out of it and use training. With tight timing, you can actually hit training right after the number changed to 3 to skip the textbox completely.
Small routing for the end of Friend League - You can actually beat the last trainer in friend league without hitting max level. This is useful because you don't start the second league with a new karp. This lets you get through Quick League a lot faster.
Optimal Text Mashing - Magikarp jump has unrestricted mashing, meaning the faster you mash, the faster the text goes. On mobile, you can piano tap with all 4 fingers as fast as you can to skip large segments of text really fast. This has led me to believe that without a mouse mod to click faster, emulator will always be slower at mashing text (loading screens are a different story, but in my experience, are faster on mobile as well.)
This also means that changing the language of the game likely does not make it faster as there is no text scrolling.
Greninja Glitch - You can use a Greninja to get past the max level. I haven't found this to be useful, but someone on r/MagikarpJump was able to beat the entire game in 14 generations using this glitch. You can use a form of this glitch with other support pokemon, like Pikachu, right before your pokemon hits max level. This will get them to a higher JP than normal, and it might make the difference between an extra win or 2.
Saving Money - You can simply not open your pokeballs until you get a karp with the bonus of giving extra gold. This is useful because from the start of the game, Shinies are able to be caught, and have the highest catch rate they'll ever get. This strategy means the the best run possible will be very RNG reliant.