something like this?
from itertools import combinations, permutations
t = ('a', 'b', 'c', 'd', 'e')
slicer = [x for x in combinations(range(1, len(t)), 2)]
result = [(x[0:i], x[i:j], x[j:]) for i, j in slicer for x in permutations(t, len(t))]
general solution, for any n and any tuple length:
from itertools import combinations, permutations
t = ("a", "b", "c")
n = 2
slicer = [x for x in combinations(range(1, len(t)), n - 1)]
slicer = [(0,) + x + (len(t),) for x in slicer]
perm = list(permutations(t, len(t)))
result = [tuple(p[s[i]:s[i + 1]] for i in range(len(s) - 1)) for s in slicer for p in perm]
[
(('a',), ('b', 'c')),
(('a',), ('c', 'b')),
(('b',), ('a', 'c')),
(('b',), ('c', 'a')),
(('c',), ('a', 'b')),
(('c',), ('b', 'a')),
(('a', 'b'), ('c',)),
(('a', 'c'), ('b',)),
(('b', 'a'), ('c',)),
(('b', 'c'), ('a',)),
(('c', 'a'), ('b',)),
(('c', 'b'), ('a',))
]