Sure, halberdiers are great but they are in imperial age.
In castle age, pikemen are not as good at killing cavalry and you should keep in mind that they are more of cavalry deterrence than cavalry killers.
Cuz cavalry can just run away and attack different target.
Camels on the other hand are faster than knights and cavalry archers, making it much easier to force an engagement than with spear units.
And keep in mind that you can make camels faster than enemy can make knights and other cavalry.
Camels are just better at negating enemy cavalry advantage than spear units are.
As for hand cannons well remember that you only need chemistry to get them to 100% efficiency, unlike archers.
Meaning quicker to switch to them if needed, just one upgrade instead of five.
Also hand cannoner accuracy isn’t as bad as it once was so having better range than enemy siege and arablesters is good.