Finding a way to disable random battles is the first thing I do when I have to translate a JRPG (the other being finding a way to kill bosses in just one turn). Here's what I usually do:
0. Start BizHawk and open its RAM Search.
1. Get into a place where there are no random battles (a house or a town, maybe) and start a new search.
2. Repeat search with "equal to previous value" many times while you stand still. Several thousand possible addresses should disappear.
3. Get into a place with random battles (a forest or a cave, maybe) and do a "not equal to previous value" then stand still and do the same thing as step 2.
4. Go to other places and repeat all these steps until you can't remove more addresses like this.
5. Mark 25% of your address list, right click on it and select "Freeze Address". If random battles haven't stopped, unfreeze them and do the same with another 25%, etc.
6. After finding that battles have stopped, do a simple process of elimination until you're left with just 1 or 2 address.
7. Put a read/write breakpoint there and see what code handles random battles.
8. Modify it to remove them completely or just to reduce them.
If you know that the game has more random battles the more you walk (or it has any other action that can change the RNG), you can use this information to find these addresses much faster.
Obviously, this doesn't always work, but with a little creativity and luck you can quickly find something similar in any game...