Personally I would have setup the skills system like this:
Category> Universal
Rank 1> A1, A2, A3
Rank 2> B1, B2, B3
Rank 3> C1, C2
Rank 4> D1, D2
Rank 5> E1
The same tree would be used for each of the four classes. Instead of picking any skills you want, you get to unlock 1 skill per rank, per each category (universal and each class). The only exception being you must choose a single Rank 5 ability to unlock. In this manner every character has fully spec’ed classes but choices must be made in determing how to customize them and in which category to unlock the Rank 5 ability.
So at levels 0-4 you can unlock a single Rank 1 ability (A1, A2, or A3) per category in any order you want. At levels 5-9 you can unlock a Rank 2 ability (B1, B2 or B3) per category. At levels 10-14 you can unlock a Rank 3 ability (C1 or C2) per category. At levels 15-19 you can unlock a Rank 4 ability (D1 or D2) per category. And at level 20 you can unlock a single Rank 5 ability (E1).
In the end this would keep every class somewhat balanced while providing an edge with the Rank 5 ability.