Python 3, 199 \$\cdots\$ 182 173 bytes
f=lambda s,n=0:s<'.'and f(s[1:],1-n)or len(s)>1and f(s<'2'and s[1:]or(s[0]==s[1]and'-1'or{'ij':'k','jk':'i','ki':'j','ji':'-k','kj':'-i','ik':'-j'}[s[:2]])+s[2:],n)or'-'*n+s
Slightly longer version without direct mappings of \$i\$, \$j\$, and \$k\$ inter-multiplications:
Python 3.8, 176174 bytes
f=lambda s,n=0,o='ijkijki':s<'.'and f(s[1:],1-n)or len(s)>1and f(s<'2'and s[1:]or(s[0]==s[1]and'-1'or((b:=o.find(s[1],(a:=o.find(s[0]))+1))-a-1)*'-'+o[2*b-a])+s[2:],n)or'-'*n+s