A quick, but important note...
Regenerating AI shields are buggy, if the NPC ship had it's shields knocked down completely and then leaves scanner range briefly it will have invulnerable shields when it's back in scanner range. This happens most often on missions when you have a specific target and the target flees to the next waypoint. It can also happen in MP games where one player flys through an area and leaves and another player enters the area after the first left.
Now that that is out of the way, on to the orginal question, making them use batteries...
In the pilot files (pilots_population.ini and pilots_story.ini, which is for SP only) look for the job blocks and find the default. You should see something like this this:
[Pilot
nickname = light_fighter_default
gun_id = gun_fighter_easy_style_a
missile_id = missile_fighter_easy_style_a
evade_dodge_id = evade_dodge_fighter_style_a
evade_break_id = evade_break_fighter_style_a
buzz_head_toward_id = buzz_head_toward_fighter_style_b
buzz_pass_by_id = buzz_pass_by_fighter_style_b
trail_id = trail_fighter_style_a
strafe_id = strafe_fighter_style_a
engine_kill_id = engine_kill_fighter_style_a
mine_id = mine_light_fighter_a
countermeasure_id = countermeasure_handicap_3
damage_reaction_id = damage_reaction_light_fighter_a
missile_reaction_id = missile_reaction_fighter_style_a
formation_id = formation_fighter_style_a
repair_id = repair_fighter_never
job_id = job_light_fighter_a
The important part is "repair_id" change the value there to repair_fighter_both, repair_fighter_shields, or repair_fighter_hull. If you want to keep the game's difficulty levels you can look around a bit and only add the proper repair line to high level pilots, making it possible to have easy pilots that don't fix their ship, med pilots that only fix their hull and hard/ace pilots that repair both.
If you aren't satisfied with how the AI handles repair itself you can search of the repair blocks and change them.
While you're at it, have some fun with the gun blocks or evade blocks too