Child object moves and rotates upon parenting to bone
Let the bone position it, then tweak.

In as much as you can position then parent, I am suggesting the opposite. The nature of parenting is to let the child inherit the transform of the parent.

If the object has no translation or rotation it will be at the location and rotation of its parent.

The head to tail axis of a bone is, +Y along the bones length. Align our child object to reflect this.

The "up" axis of our default cone is +Z, we want to make it point to "+Y".


The default cone, rotated and translated such that its origin (local  (0, 0, 0)) is  at the tip of cone, and it points in a +Y direction.  The cone is at global location (0, 0, 0)

If non-zero rotation apply the rotation.

Now we can parent to a bone and the cone will be tip to tail of bone.


cone parented to head bone of rigify bird metarig, adjusting the cones y location will slide it up and down the bone