How can I scale an object with Python without it moving?
Your pivot center point is the only point that is unchanged when scaling. By default this pivot center point is the object origin. In order for your human object to not move, the center point must be either at the foot or at the barycenter of it (it depends on what you mean by "remain at its original location")

To do that you can use the 3d cursor as the pivot point and set its location to the point unchanged point (foot or barycenter)

bpy.context.area.spaces[1].pivot_point='CURSOR'
bpy.context.scene.cursor_location = pos #where pos is the unaltered point