Move bone to a certain location python
Calculate the local coordinates by applying the inverse matrix of the armature to the global coordinates.

# obj       the armature (scaled)
# emp       the empty in world space (no parent)

bone.head =  obj.matrix_world.inverted() * emp.location