Try and make a jump sustain system where it doesn't just cancel your jump, it changes the height of the full curve instead. It'll feel a lot more natural this way. Perhaps you can manipulate the gravity of the player directly to be less when you hold jump - I think this is what a lot of platformers do.
