OK, you're going to think I'm crazy, but here goes:
I disassemble completely (using a schematic or Firearms Disassembly guide), soak everything in gasoline to completely de-grease, dry completely, then wipe everything down with a very thick coat of Militec. I mean sopping.
Here's the crazy part. I put the entire works into a preheated oven (150 or so) for a couple minutes (all the small parts in a deep-sided baking dish). Normally, the Militec disappears on a lot of the metal surfaces, so I re-apply, and re-heat.
Then, I wipe everything down again and try to remove as much of the excess Militec as I can, reassemble, and put just a DAB of heavy grease on key areas, depending on the gun.
I swear, I have a 12-gauge Belgium Browning Auto-5 that had 25-plus years of heavy-volume Mexico shooting ... probably not 100,000 rounds, but maybe not too far off. Anyway, it was a crapload of rounds, and I had never cracked the receiver, but finally the striker/hammer broke internally and I had to disassemble to replace it. I took the opportunity to clean as per above, and if you've ever felt a Belgium Auto-5 operate (think bank vault), this gun was right back there.
It's been 6 or 7 years since that disassembly, and that gun is still operating like, well, like a proper Belgium Auto-5!
When a gun gets finicky, that's what I do. It takes a while, but it's like starting over with a new gun.