The following is an example of one gallery:
It has 600 pictures. The red boxes indicate pages where each one shows up to 100 photos. In this case, every page shows 100 since 600 divides into 100 with no remainder. I have used the rel=prev and rel=next to join the individual pages together.
The green boxes indicate pages containing a maximum of 200 photos each. Again, the division is nice. Once again, rel=prev and rel=next are used appropriately.
The blue boxes indicate pages with a maximum of 500 photos each. Since the division has a remainder, the first box has 500 photos and the second has only 100 photos.
This is where the problem happens
Because each array of boxes technically displays similar content with the only difference being the number of pictures shown per page, I feel there is a need for rel=canonical. The problem is the application.
The black lines that run from green to red boxes is my thoughts of using rel=canonical but that means using at least two rel=canonical tags on one page, thereby increasing data size. I'm not sure that's even acceptable because I'm used to only using one.
Also from blue to green boxes are black lines which also are my thoughts for rel=canonical. I also have dark orange lines representing thoughts of my rel=canonical usage from the blue boxes directly referencing red boxes.
I want to avoid the view-all page because 99% of the galleries are under 500 pictures per page. Also, Google states that the URL rel=canonical points to is supposed to be original that is meant for Google to index and I'd rather have Google index the pages that show 100 pictures per page instead of pages that show 500 pictures a page as I'm trying to follow another guideline of "use a reasonable amount of links".
To further complicate things, I utilize a similar setup on the mobile version of the site minus the options to view 200 and 500 pictures a page.
What would be the best way for me to use rel=canonical here without wrecking Google's crawling budget and without making users feel like they're taken to a long loading view-all page from search results?