Pivot point not working in Python script
You will want to set the pivot point to use the 3D cursor. As the pivot_point is a property of SpaceView3D, you will want to find the 3DView in the current screen areas, then change it's pivot_point to CURSOR

scr = bpy.context.window.screen
v3d = [area for area in scr.areas if area.type == 'VIEW_3D'][0]
v3d.spaces[0].pivot_point = 'CURSOR'