Fresh fish shouldn't smell at all. You can tell the freshness of the (whole) fish by holding it on it's side by the head; fish that are fresh don't "bend" - even flat fish such as sole.
If you can't find fresh fish at your local market they're probably being stocked by industrial trawlers, which keep their huge nets "out" for days at a time at depths not usually fished at. They're a major cause of over-fishing, catching fish people generally wouldn't eat because of the depth at which they live (usually ugly and tasteless), and because their nets are left out for so long the fish are dead long before they're brought to shore.
It's better to buy fish from small sellers near the coast (if possible; don't know your location). You may end up paying a little more, but you'll be helping the small fishing companies "stay afloat" in the current economic climate and "voting with your money" against the industrial trawlers causing much damage to the ecology.
If this isn't possible you may be able to reduce the smell of the fish by soaking it in milk for a short while (works better with white fish). An alternative which works great with darker fish like mackerel and sea bass is to "spice the hell out of it". Dark fish take on strong flavours very well, so throw on some BBQ sauce or chillis if you're not super-strict paleo.
When it comes to canned fish, try the fish preserved in oil or tomato sauce rather than in brine/salt-water. While there will still be some smell, it's not as strong as that in brine.
Since becoming paleo I've started making a simple lunch for eating at work which is basically a tin of tuna in sunflower oil, drained, with a few spoonfuls of fresh mayo and some dried herbs. It's quick, easy, tasty, and provides a nice protein hit after my morning gym session!