Day 10:
After some thinking I came to conclusion that I have to change the physics of the game a little. Character is jumping like on the moon now, and there's too much control in air. If I want to implement wall jump then player can't just climb on one wall by that. I've raised gravity and made player add force to rigidbody while in air instead of changing velocity like on ground. That revealed another flaw in my design - I've checked for ground using one raycast downwards while collider had some width. That caused character to be stuck on upper corners of platform because added force was too small. To fix this now I'm doing two raycasts on both horizontal edges of collider.