I think your problems could be alleviated with more options in skills for the classes themselves. There's also no demand that the jobs must use the skills provided by the class, just that they have to branch off of them.