pose bone drivers through python
You might try this:

import bpy

obj = bpy.data.objects['Armature']

#get pose_bone
pb = obj.pose.bones['Bone']
#add drivers
driver_loc = pb.driver_add('location')
driver_rot = pb.driver_add('rotation_quaternion')

#search for a driver
for d in obj.animation_data.drivers:
    if d.data_path.startswith('pose.bones'):
        id = d.data_path.split('"')[1]
        prop = d.data_path.rsplit('.', 1)[1]
        if id == pb.name and prop == 'location':
            break
else:
   d = None

if d:
    #... settings
    d.driver.expression = your_expr