As far as I have read there is no "recommended size" of a table. Yes, smaller tables have faster query response times. The best way to do things is that if one or more tupple(s) are not going to be required in the near future you move them to a backup table and have a trigger execute in case a tupple in not found in the main table to search for them in the backup table.
Think of it as a book's index, the smaller the index the faster it is to process, however there's no recommended size.
Database software is designed to store at the least millions of records without a problem as long as your h/w supports it.
Imo, move all the non-essentuial records (records not accessed frequently) into separate tables based on time of access. This way you can an active table and an archive table. The active table is thus much smaller and faster to access.
I hope I resolved your question.
As far as table backup goes, use the compression command in InnoDB to compress and then backup your table(s).
www.innodb.com/doc/hot_backup/manual.html#backup