That is just either substandard manufacture, or bad design, or bad planning, or user abuse, and being stackable or offset has nothing to do with it.
I think you're being too harsh. The problem as I see it is that the top of the USB socket is higher than the top of the female headers, That's what is shown in the picture but I don't see that as abuse - it's a demonstration of the problem.
Harsh? Me? Not for one moment. I merely state the bleeding obvious.
I see the height of the USB socket over the top of female headers is just trivea to be toyed with by those with limited imagination. The real problem is clearance over an RJ45 Erthernet socket.
If that photo attached is actually a case of squeezing a shield over a USB socket, then it is a fair example of bad design, bad planning, and user abuse but I utterly fail to see how this can be fixed by using offset headers. And the second “much, much nicer” picture demonstrates nothing, and absolutley nothing that cannot be done with stackable headers. Actually, what it might demonstrate is that you can fix the problem on a Duemilanove by moving the shield 0.15” sideways, but I doubt it, there is certainly no evidence to that effect, and I can’t be bothered to look any further.
Clearly, if this is to be fixed, it will be fixed by addressing the length of the pins rather than their position. So yes, a male pinrow to hand measures 11.25mm overall while the exposed length of pin on the standard stackable header measures 11.1mm, but I’m far from sure that 0.15mm is anything to write home to your mother about, and this presupposes that laboriously pulling the pins through the plastic block, to ensure that advantage taken from the extra length, is actually worthwhile. Trust me, I've done it, and it isn't.
The only thing that matters in the pictures, both, is the only thing that cannot be seen and of which there is no mention – the length of the pins. What we do see is a pathetic exercise that depends on scrounging plastic pinrow blocks, which might be better employed for their original purpose, and sloppy soldering, which may result in the pins not being properly bedded down.
Imagination has little to do with this but measurement has quite a lot to do with it. Indeed, an absurd preference for using male headers in a situation like that is more likely to be the cause of the problem than a solution. I say that simply because I am unaware of male header with extra long pins and such a predeliction may obscure the view of stackable headers that fill the bill.
The top picture below shows a storebought ethernet shield clearing the dreaded USB port with daylight to spare and with a homebrewed terminal board on top clearing the RJ45 socket. The pins simply go to the bottom of the socket, like God and Arduino intended
Those needing more rigorous demonstration may see the minimal merit of male pins over a stackable header evident in the second picture.
The third picture shows the comparative length in the only thing that counts – the amount of visible brass.
I think it fair to say that using male headers is likely to give you four things
1. a wider board
2. a substantial hit in wiring convenience
3. one less row of holes
4. twice as much soldering
all of which are more likely to be liabilities than assets.
So, in summary, sticking with male headers is a dumb exercise reserved only for those devoid of imagination – as I’m sure bkenobi has already worked out. There is no little irony in that the Adafruit board originally alluded to is available as an unassembled kit, thereby enabling the headers to be replaced without the angst the OP inevitably suffered. One can only conclude that the board was designed by somebody who actually knew what he was doing, sort of, only to find it assembled and marketed by morons.
I might point out, that another solution to the clearance problem is to remove the problem by using a truncated board, thereby enabling the use of standard headers. I have a few and they are quite sufficient.