Adobe has a "Best Practices Guide" at their Digital Publishing Technology Center
. These are actually best practices for using Adobe Digital Editions (rather than ePub in general), but an ePub that performs poorly in DE isn't going to be viable because most handheld devices that run DE won't have an alternative ePub reader. The most significant recommended practice is:
Use Chapter size chunks (less than 300k in size.)
As noted above the EPUB format supports both XHTML and DTBook content within the EPUB package. The content of the document should be broken up into multiple files. Having a single XHTML document that’s the entire contents of a novel may be technically valid, but that would also mean that the entire document would need to be loaded into memory when the first page gets rendered or when the user opens the table of contents. It’s much better for reader performance, navigation and usability to split the document into chapter or even section size chunks. Typically you’ll want to treat chapters as separate chunks, in some cases, when the chapters are very long, you’ll want to break them up further. Of course the start of each new chunk will start at the top of a rendered page, so you’ll want to split the chunks with that in mind.
Note that Adobe Digital Editions has the following limitations when running on a mobile device;
Image Size: 10MB uncompressed.
XHTML/DTBook file size: 300k uncompressed/100k compressed.
The limits shown above are per asset within the document. Since your books will have many ‘chunks’ or chapter files, the full text can be much longer than the 300k limit. The limit is only a limit on the individual pieces.
It is my impression that a single XHTML file for the entire contents was not only "technically valid" but in fact the industry standard before ePub, but this won't work well with Adobe DE. Splitting documents on chapter boundaries is easy, but if a chapter is larger than 300k splitting it further without introducing a strange page jump may be more difficult.
I recommend following Adobe's guidelines, and in particular splitting ebooks into chapters. Note that Feedbooks is already dong this.