It's not bad, but still some suggestions.
1. I would avoid the term "Landsknecht", as those only appeared around the transition to the Renaissance. For man-at-arms "Waffenknecht" would be a good translation.
2. A squire should be above men-at-arms and sergeants, as he is often of noble blood, will mostly advance to knighthood, and even those who were squires into their old age were regarded highly. (e.g. Lancelot's squire Dap in the Arthurian Stories served him even when already elderly).
3. You could add pages below squires. They were not usually fighters, being too young, but might still already receive some training with weapons, and could be included to represent another step towards knighthood for members rising through the ranks.
4. "Gardist" seems too modern a term. It makes me think of Napoleonic era guard regiments. I suggest using "Wache" or "Wachmann".
5. You could add "Baron" as a lower noble title.
6. "Heerbann" would be free commoners, i.e. above levied serfs, so I'd make them the second rank, the lowest being unfree commoners or "Gemeine".
In summary, it could look like this:
King - König
Prince - Prinz/Fürst
Duke - Herzog
Baron - Baron
Knight - Ritter
Squire - Knappe
Page - Page (optional)
Sergeant - Hauptmann
Man At Arms - Waffenknecht
Guardsman - Wache / Wachmann
Footman - Heerbann
Levy - Gemeiner