I have a metric ton of e-books. I love them. One thing I don't love about them is DRM. My music can now be purchased DRM free, and I am pissy that my books can't be. I want to be able to read them anyhow and anytime I like. And now I can. I currently have an iPhone and an iPad which both have the Kindle and iBooks apps. Almost all of my books are from Amazon because I've had a few Kindles over the years and, well, it's just easier and often cheaper. I don't really have anything against the Kindle app; it allows me to read books and highlight stuff and the highlights are synced and stored, as is my current reading position. IF I'M READING A DRM BOOK PURCHASED FROM AMAZON. That same set of limitations applies to iBooks; if you load a plain epub file on there and sync it through iTunes, notes and highlights don't show up, nor does your current reading position. I have a slight preference for iBooks because of the different highlighting options, but either way you go you don't get the perks of syncing with books not purchased from Amazon or Apple. This irritated me, so obviously I have figured out how to get around it.Most of the process comes from this article from Cult of Mac. It requires that you have a Mac and a Dropbox account (I feel that everyone should have those things anyway, but that's another post). Note that this article contains a limitation I missed until I read the comments. If you do it as written you will create an endless loop and hundreds of copies of your e-books, so create a kludgy rule in Hazel (such as described here) to keep this from happening. Also, Amazon has a Kindle for Mac version available that is like 3 years old, so get the Mac app store version unless your Mac is also running a 3-year-old OS. This process doesn't take very long to set up, and Calibre is a lumbering behemoth but it's free and does everything you'd want such software to do.
More to the point you end up with a cloud-based library of all your stuff. I decline to enter the DRM debate because I think it's stupid and not worth debating. I bought this stuff and should be able to store it however I want. The directions above include a de-DRM-ing process, but you can also toss plain epub files into your Calibre auto-watch folder and get the same result. I have a ton of free books that aren't DRM'ed and therefore not catalogued on Amazon. This process nets me a folder with everything in one spot.
Calibre's filters generally output both a mobi file and an epub file, so you could read, from Dropbox, your books in either the Kindle or iBooks apps. I pick iBooks because the Kindle one does not sync reading position or highlights for non-Kindle-format books, and iBooks will.
IF YOU KNOW THIS: DO NOT SYNC YOUR BOOKS THROUGH iTUNES.
When you uncheck the box saying all your books will be removed…they will be. But do not despair. Just uncheck the "sync books" box and sync your iDevices, then open the Dropbox app on your iPhone and iPad and go to your Calibre folder. Download the books you want (you'll get an error message that Dropbox can't open them, so go to the icon at the top and pick "open with…iBooks") on both devices. By magical means, reading position and highlights/notes will be saved. Leaving that box checked in iTunes results in odd and inexplicable duplication of books that don't sync, and it also defeats the purpose of syncing books via your own personal cloud and not Amazon's or Apple's.
Limitation: notes and highlights are not saved to anywhere external as they are for normally purchased Amazon books read on a Kindle or via the Kindle app. This is easily gotten around with two Mac apps: iExplorer and BookmarkExtractor.
There you have it: the result of days of testing syncing this way and that and seeing what transferred and what didn't. Enjoy!