How to position/scale custom bone shapes in same position as original mesh?
For solving this issue I use a script called orient_custom_shape_V2.py I found here:
https://developer.blender.org/F207430

After installing and activating the script in User Preferences select a custom shape as you do normally (Pose Mode -> Bone panel -> Display section). Then you have this new button called Orient Custom Shape beneath the custom shape options. It should bring the representation of your bone to where your custom shape mesh is. Which is what we want.



It works fine for me (v.2.77). Though I know people experienced issues with scale and orientation for some bones using the script.

And as to scale I recommend having bone size equal to one if possible (this should not scale your custom shape at all).