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.