Linear and non-linear dependence in a single DS model
The simple answer is to experiment.
You did a quite detailed analysis of the relations between your features and response variable and that's definitely a good idea, but don't be afraid to experiment with various models, even those which don't seem perfectly adapted to the task. Why? Because the one thing that such an analysis by individual features doesn't show is the patterns which happen with combinations of features, and that's what most ML algorithms are usually good at finding. This is why one often finds surprisingly good results with methods expected to perform poorly.
So my advice is to start with a range of simple methods known to be quite robust, for instance Random Forest, SVM, logistic (or even linear) regression. A good strategy is to start with simple methods and then try to improve on that based on analyzing the results. For example a more advanced approach would be to use ensemble learning: train different types of models and then a meta-model which relies on their predictions.