Unless something has changed recently, miasma only spreads orthogonally. Dwarves travel diagonally just fine. So you can create a refuse stockpile like this:
# X
# X
X # X
X #
X X
where the X's are dug-out squares designed as refuse stockpiles (and set to restricted movement), the #'s are dug-out squares not designed as stockpiles, and blank spaces are walls. Of course, in practice you almost certainly want to make your refuse pile bigger; a rather large one might look something like this:
######################### X
# # # # # # # # # # # # # X
X # X X # X X # X X # X X # X
X # X X # X X # X X # X X # X
X # X X # X X # X X # X X # X
X # X X # X X # X X # X X # X
X # X X # X X # X X # X X # X
X # X X # X X # X X # X X # X
X # X X # X X # X X # X X # X
X # X # X # X # X #
X X X X X X X X X X
The checkerboard design ensures that your dwarves will never encounter any miasma at all, since it can't spread beyond the square containing the rotting item, and since those squares are restricted so your dwarves won't path through them.
Admittedly, setting up such a stockpile takes a bit of work, but if you don't feel like doing it by hand, you could probably automate it with macros. And once you've set it up, it takes zero maintenance; just make sure the pile is big enough and that you have enough refuse haulers available. Some tips: Instead of designating each of the X squares individually as a refuse pile, designate the whole area as one and then undesignate the corridors. Also, don't forget to set your refuse pile to only accept rotting refuse; you'll want a separate stockpile for bones and such.