As far I know spirit experience is very complex, I haven't bookmark the post explaining some important points, what I remember is:
- The level difference with the character plays an important role so when a spirit has the same level it gains quite less xp.
- Only the first 3 spirits use bring significant xp, after it's not significant.
- The number of enemy units still present when the spirit is used has an influence on the amount of xp used.
- For spirit attack that does damages, the xp is influenced by the damages done when other use an xp base.