I've read through lots of forum posts @ making custom shields but I'm still not getting a good technique.

I have single sided, copper clad perf board and standard header strips. Aside from the annoying spacing problem, I don't think my headers are long enough to work correctly. I want the copper to face the board so I can mount components on the top side. If I attach the headers to the perf board in the standard way, there isn't quite enough 'leg' length left to fully seat in the Arduino pin blocks. Do people use extra long header pins? Is there some trick I am missing?

I ordered a few sets with a few of the offset pins before I realised I could just make an "adapter" board. Stripboard, with one set and an offset pin, then just make my circuits using stripboard with regular straight pins on top of that. No need to keep buying more offset pins.

Just get a piece of stripboard, perfboard, or whatever, cut the tracks if it's stripboard so they don't go the whole way across the board, insert the 6 pin ones in one side, an 8 pin and the offset pin in the other side.

The pins sticking out the bottom will fit in an Arduino. The headers ready to accept pins on top will be standard 2.54mm apart so you can put whatever you want on it.

Edit : Adding quick iPhone pic. On the bottom is a regular standard Arduino form shield. On the top is just plain ol' stripboard.

Standard straight 8 pins on the right, offset pins on the left. Now, those header sockets on top of the stripboard are all 2.54mm apart - and I don't need to buy extra offset pins each time I wanna test out a new circuit.