With regards to your stalemate, I feel that both players could agree to a draw for the round giving neither player a point. This would mean black is playing for the win next round while Red is playing to tie the game. Still not much incentive for red to call a draw though. Maybe we need a rule that forces a draw if neither player is committing to an attack for more then two turns.
Yeah that's it, apart from a shardbearer nothing really holds more value over anything else. This is part of the reason why I was messing around with the idea of pieces having a value. I see infantry as kind of like a pawn. Lowest value unit but lots of them.
Archers holding the same low value but able to attack at distance.
Calvary should be worth more than an army and a way to do that I feel would be to give them a higher value. Like a single infantry unit shouldn't be able to take them down alone, but maybe archers could.
Also with your stalemate, I think the move phase and attack phase happening seperstely could solve this also. With the way you had the game in your picture, the red shardbearer could just keep moving around trying to flank something. Black player will only be able to move one piece per turn and eventually may end up not being able to protect both. If movement happened before attacking, this gives black a chance to position two pieces to reds one piece before attacks happen, which would be more likely to force red to have to retreat or either commit to removing one unit at the cost of their own.