How to detect with python a strip in VSE being selected?
This script will print to console the name of the new strip being selected in the sequencer:

import bpy 

oldStrip = bpy.context.scene.sequence_editor.active_strip

def sequencer_update(scene):
    global oldStrip
    activeStrip = scene.sequence_editor.active_strip
    if activeStrip:                                     
        if oldStrip.name != activeStrip.name:
            print("New strip selected: "+activeStrip.name) 
            oldStrip = activeStrip              

def register():

    handlers = bpy.app.handlers.scene_update_pre
    for handler in handlers:
        if ("sequencer_update" in str(handler)):
            handlers.remove(handler)
    handlers.append(sequencer_update)

def unregister():
    handlers = bpy.app.handlers.scene_update_pre
    for handler in handlers:
        if ("sequencer_update" in str(handler)):
            handlers.remove(handler)

    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

#unregister()


Related: how-to-detect-updates-in-sequencer-by-comparing-to-a-global-variable