Uma das melhores, mais completas e modernas bibliotecas FSM gratuitas, de ponta e altamente otimizadas, disponíveis on-line é a biblioteca AT&T FSM . Ele implementa "fsmdifference" exatamente como você descreve, exigindo um FSM sem epsilon determinado para fazer a diferença. Uma idéia é minimizar um ou ambos os FSMs antes de fazer a diferença, o que pode ajudar em alguns casos. (isto é, determinar não é o mesmo que minimizar.) Este pacote também possui uma minimização "aproximada" ou "gananciosa" projetada para ser possivelmente mais rápida que uma minimização completa.
No entanto, estudando problemas semelhantes, acredito que exista alguma generalização ou construção de FSMs que não apareçam na literatura que possam ajudar com esse problema, evitando a etapa de determinação, ou seja, basicamente invertendo um NFA sem criar um FSM determinado adicional. A idéia é atravessar as bordas do NFA "em paralelo" e acompanhar o conjunto de nós que fazem parte do "superestado" atual (conjunto de estados), exatamente como no algoritmo de determinação padrão. Então, o complemento NFA aceita se, e somente se, o conjunto de nós atuais do superestado for "não aceitável" (em contraste com a construção determinante que aceita se "aceitável").
No entanto, eu nunca vi isso escrito antes e não o vejo através de uma rápida pesquisa on-line. Existem muitas referências que sugerem ou implicam que a única maneira de trabalhar com o complemento de uma NFA é determiná-lo.
Aqui estão duas referências "próximas" que podem ser úteis para algumas idéias. Eu estaria interessado em ouvir qualquer um / outros que estão "mais próximos". Você mencionou que está trabalhando na verificação do programa, que pode ser um campo que possui pesquisas mais diretas sobre o problema.
[1] Construção da interseção de autômatos finitos não determinísticos usando a notação Z Nazir Ahmad Zafar, Nabeel Sabir e Amir Ali
[2] Construções de complementação para autômatos não determinísticos em palavras infinitas Orna Kupferman e Moshe Vardi