You might find these links useful: https://github.com/WebBooks/wbb
http://johnmacfarlane.net/pandoc/epub.html
https://news.ycombinator.com/item?id=7822057
That last link for pollen is very interesting IMO.
There's a difference between writing a book and formatting one. For writing you can use anything as long as you can export it to txt/rtf - rtf being the standard in the print world - even vi/vim is usable for this purpose.
For formatting the standard in the print world is InDesign, nothing else comes close. I used to work in the "print" trade, and that is what everyone uses.
I wrote about how I built mine here: http://rachelandrew.co.uk/archives/2014/01/07/html-epub-mobi...
TL:DR going from HTML to PDF is more of a PITA than you think, .mobi and epub is pretty straightforward.
Use DITA or DocBook. There's loads of pretty solid transformations for turning either of them into all three of the outputs you want.
Word processors are always the worst choice.
I use Scrivener & it works well for me. If you have an image-heavy book you may find formatting images a little difficult in some of the e-reader formats. PDF files work well.
For technical books, http://gitbook.io is a new choice that I've been using.
I was going to suggest my project, but you can't add images to your books yet. Le sigh, back to work.
I'm working on some software in this area (https://www.penflip.com/). A book is a basic git repository holding a collection of markdown files and images, which are compiled into PDF/epub/html with a single click in the browser. There's a web UI that essentially wraps git functionality, which has proven useful for collaborating with (and receiving feedback from) non-technical people. It's pretty simplified.
Several open sourced tools are used behind the scenes, including some mentioned here (e.g. pandoc).