I suppose the fish doesn't run out atm, so you can just sit at one spot and catch fishes until your bag is full. Like this most fishers will be just macroing for hours.

Rivers should be divided into squares. Each square is few sqm big. One square contains x fish. Once you catch x fishes from one square and the fishes realize that you want to harm them, they wander to the surrounding squares. Once one of the surrounding squares is fished, the fishes wander back and so on.

This will prevent macroing and adds some realism to the game.

Check my attached Paint masterpiece. :P