At the moment if you dual class a soldier you get access to a full set of perks from both the old and new classes for that solider.
In effect an assault > heavy is the the same as a heavy > assault.
I’d rather see a system where when you dual class, you can then only access perks from the new class for that solider and/or you only get access to the perks of the new class from the point where you made the decision to switch.
An assault reaches level 4, decides to dual class into a heavy, they’ll now have access to heavy perks at levels 5, 6 and 7, not to earlier perks for that class. They’ll also lose access to assault perks at levels 5, 6, and 7.
A second assault has a nice couple of perks at levels 5 and 6, but their level 7 perk isn’t going to be so useful, so they wait until level 6 to dual class. They’ll only get access to a level 7 heavy perk, and only lose access to the level 7 assault perk.
Doing things this way would give player choice over how and when to switch class, and help to make each type of dual class solider different to one another.