I haven't seen this suggestion yet:
Citra-Solve is a naturally-derived solved (obtained from citrus peels, I believe) that has a strong but pleasant orangey scent, and is safe to use where industrial solvents are not. See http://www.ecocern.ca/Citri-Solve_Page.htm for the specifics.
Because it's a solvent, it will thin and remove heavy oils (and a surprisingly long list of other "impossible" stains). Then whatever solvent residue remains launders out easily.
If you try this, test a hidden area of the shirt first to be sure you won't fade the color, then put a pad of some absorbent rags or paper towels underneath the fishy spot and blot a solvent-saturated cloth on the stain. Reapply a couple of times while refreshing/turning the absorbent pad so the solvent always flows through and away from the shirt. More than one treatment may be needed for such a strong smell, but you'll probably notice an amazing improvement after one treatment.
It's a good idea to use in a well-ventilated area and to wear rubber gloves, because the solvent also strips natural oils from your skin and leaves your fingers very dry. You could also absorb some through your skin. It's "nontoxic," but exposure to anything in concentrated amounts could be harmful (I recently learned that an acquaintance pretty much ruined her lungs using a "natural" pine cleaner in an enclosed space.)
I've had a half-gallon jug of Citra-Solve that's lasted for years. It has worked cleaning a few things that I thought were goners, though I only use it as a last resort. Haven't tried it on fish oil, so if you do give it a go, there will be lots of mamas here who'd appreciate a follow-up report from you if it works.
You can get this probuct through Amazon.com, and I believe also Gaiam.com, in various sizes.