With downshifts in particular, it can help to overshift slightly and then pull back to center the chain on the cog. Good shift levers make a difference. What are you using?
It's a set of old shimano bar end shifters that no longer index well enough to use the indexing. They work ok in friction mode, or at least seem to (got them from a buddy, God knows where he got them). I'd love to have some old suntour barcons, as I've heard they're fanatastic, but I either can't locate any or simply can't afford what people want for them.
Either as someone already mentioned, you might have a stiff or slightly dinged chain link, or possible the RD is riding too close to the cassette. This makes for great shifting, but if there isn't a distance of 1" or 2 links minimum between the chain and idler wheel they sometimes interact causing the RD to push back and cause a skip. In extreme cases it can cause the RD to get torn off.
Brand new chain, just shortened to match my big chainring and biggest cog, so no stiff link. I adjusted the b-screw as best as I could, basically by adjusting it until it started rubbing and making noise on my big cog, then backing it off a bit until they no longer contacted. I think this is how to do it? The b-screw is a bit strange to me, because it seems to take a lot of screw-turning to get a noticable response. That said I don't think the cogs are grinding against the derailleur at any point.
I'll try the overshift technique and see if I get better shifts. I think my problem is almost entirely related to downshifting and *thinking I'm in the right spot, but not being quite there.