There are beta regression models for R and Python. They are designed to handle values between 0 and 1. However, as far as I'm aware, there is no direct beta regression implementation with LightGBM, XGboost etc. Some folks seem to expand beta regression into tree-based approaches, but this is not equivalent to boosting.
Also see this post for a very similar ...
Usually it worked for me that if the search space was know then annealing rate (divide the size size with number of iteration)helped to decrease/increase the step size gradually to get to local max/min but the draw back is it might get stuck in local and might need some "momentum" to go on, another draw back it it might be very slow.however it doesn't seems ...
I think you will find Optuna good for this, and it will work for whatever model you want. You might try something like this:
hyper_parameter_value = trial.suggest_uniform('x', -10, 10)
model = GaussianNB(<hyperparameter you are trying to optimize>=hyperparameter_value)
# evaluate the model here