I was able to figure this out. By measuring on_ground height, before a jump, and on_ground height after a jump, i was able to determine if a player was jumping to a higher level. I was also able to determine the time of the jump, since things like trimping, and ramp sliding is typically a quick short jump. i was able to use both of these data points, to then calculate a proper jump height increase.
Code:
static Float:jump_height = 273.333
if(time_dif < 0.3){
velocity[2] += height_diff / time_dif + jump_height+160
}else if(height_diff < 75 && time_dif < 0.5){
velocity[2] += height_diff / time_dif + jump_height+140
}else if(height_diff < 105 && time_dif < 0.6){
velocity[2] += height_diff / time_dif + jump_height+120
}else {
velocity[2] += jump_height
}
leaving out some of the variable declarations, but that's basically the core logic.