I think the problem with the current iteration, is that Classes are basically "Jobs, but worse", with the only exception being cross-class skills.
Personally, using think cross-class skills are the real failure here.
What I'm suggesting is restructuring things, and treating them as alternate playfulness for the same set of skills, with just a few changes here and there.