More specifically, I'd call it a "tragedy of the commons" problem.
The simplest solution is to make the fishing rights for the waters a property that can be bought and sold.
If you overfish in that system, you get no income in the future years, so greed will make you manage the fish responsibly.
This is probably very hard to do within the current international law framework.
That doesn't work when fish swim between properties.
I seem to remember some calculations that the present value was higher if you overfished once. If interest rates are high anyway.
fish migrate
Yeah, the only real solution is to eliminate commons.
In case of the ocean I would say that every country should have the economic right to all points in the ocean closer to them than to any other country. Everyone else gets free passage (subject to your reasonable environmental laws) and to engage in scientific operations, but only the country has any right to remove anything beyond scientific samples.
It's not perfect given that some species move about, but it would go a long ways towards controlling the problem.