You could try this , too:
Player is overlapping ground at offset (y=16 or whatever) ---> On Space pressed simulate jump
This way, I think player can jump before the collision with the ground.
Ps: you can try adding another condition: Player is falling. Maybe would work better