Switching render engine in a script without using .context.scene
Update:

I was actually reading that very page you suggested while you were suggesting it, batFINGER - and thank you for validating my suspicions - and used the sample code they offered as a sort of template. Lo and behold: it loads. There is still a long way to go to make it a workable script, but I can see the validity of isolating context-specific behaviour and keeping it from the general code base that doesn't know what context it is going to wake up in (so to speak). So, for the curious:

import sys
import os
import bpy
from bpy.types import Operator
from bpy.props import IntProperty, StringProperty

class MatShaderPanel(bpy.types.Panel):
    """Create shaders for your Poser figure: Panel"""
    bl_label = "Figure Files Util"
    bl_idname = "MATERIALS_PT_shaders"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'

    def draw(self, context):
        layout = self.layout
        obj = context.object
        row = layout.row()
        row.label(text='Figure Name')
        row = layout.row()
        row.label(text="Active object is: " + obj.name)
        row = layout.row()
        row.prop(obj, "name")
        row = layout.row()
        row.prop(context.scene, 'conf_path')
        row = layout.row()
        row.operator("object.run_script", text='Apply Shaders')

class runScript(bpy.types.Operator):
    """Will run script"""
    # was bl_idname = "object.run_script" - is now:
    bl_idname = "object.run_script"
    bl_label = "Invokes Shader Script"

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        filename = 'test_Shaders.py'
        exec(compile(open(filename).read(), filename, 'exec'))

        return {'FINISHED'}

def register():
    bpy.utils.register_module(__name__)
    bpy.types.Scene.conf_path = bpy.props.StringProperty( \
      name="Images Path",
      default="",
      description="Defines the path to your images",
      subtype='DIR_PATH')
    bpy.types.Scene.conf_figure = bpy.props.StringProperty( \
      name="Figure Type",
      default="",
      description="Defines the base mesh name of your figure")

def unregister():
    del bpy.types.Scene.conf_path
    del bpy.types.Scene.conf_figure
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()


Not finished yet, but at least I have this question sorted.