I had this issue as well, but found a fix. I would download books over wifi, but the next time I opened iBooks the books would need to be re-downloaded. I saw this while on and off of wifi, but it was of course more of an issue when only cellular data was available.
The fix: My iPhone was almost completely out of storage (this issue would probably affect iPads as well). After freeing up some space, downloaded books stay downloaded. I freed up 20%, but I imagine 10% would be sufficient.
My guess is that on devices with very little storage space available, iCloud tries to free some up by removing content you're not using at the moment, content that exists in iCloud storage. This is pretty smart on Apple's part, and is much better than hitting a hard limit in most cases. It's definitely inconvenient when a book you're reading is no longer available and you only have cellular data, but keeping some free space available should avoid this.