Hi,
again, your explanation is the definition of a prefab variant, at least in my understanding. which is not the same as nested prefab, and not the same as overrides.
BUT, inside an FSM, it's true that you can't have differences between prefabs without an override or variant at the fsm level.
for this, I would rather use templates, and have variants of prefabs using different templates.
I also usually resort to child gameobjects which contains specific logic and create a contract between the parent and these childs so that the parent doesn't care what the child is doing, it simply communicates via a generic set of events and variables. say, you have a weapon with various effects, make effects a child of the weapon and have the parent control the life cycle of the weapon, probably waiting for effect to finish, so the parent expects from its internal unknown fsm, a callback when things are done, then it can handle the weapon life cycle.
Bye,
Jean