Typically one would look at the ratio of writes to reads for the particular table in order to decide on whether or not InnoDB or MyISAM is a logical choice.
MyISAM is rather quick for reads, but writes slow it down as it has to lock the entire table in order to write to it. In turn, additional requests are queued until the write request is completed.
InnoDB however allows for a single row to be locked during a write, thus leaving the rest of the table free for other requests. It also is much more stable (that's being polite) when it comes to recovery of crashed tables. The downside is that while reads are quick, they aren't as quick as MyISAM.
One final "drawback" to InnoDB is disk space. InnoDB is going to use more space to store the same data. Sometimes as much as 2 or 3 times the space of a MyISAM table.
An average consensus seems to be that the break even point is about 15% of requests being reads, with overall improvement and gains starting around 20%. YMMV.
InnoDB isn't a bad option. Far from it. If for nothing more than its crash recovery being significantly better.
Whether or not it makes sense for a particular site is something to evaluate per site. A site with low activity, but high page views may not benefit from it, although there may be a table that would (like a stats table, or one that's constantly written to).
As for a daily optimization routine, and we're talking table optimization not actually optimizing MU for MySQL, the basic command is simple. OPTIMIZE TABLE table_name
.
One could put together (or find) a bash script that would roll through and optimize tables on a regular basis, and run it through cron.
Smaller sites could use PhpMyAdmin on a regular basis as well, although automation always makes life easier.