Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
This is exactly the point. Choice of features and choice of model must be considered together. It is a common pitfall to try and reason about feature selection without considering the type of model being used.
The output is not binary, it is any number in [0,1]. It only becomes either 0 or 1 if you apply a threshold afterwards, which is what you would do for classification, but not for probability estimation as we have here. I'm not sure about any way to guarantee that your sigmoid won't saturate. The typical advice is to "be careful with weight initialization" and to keep an eye on them to see if they saturate and try something different (weight initialization, learning rate, etc.) if that happens.