I've been using MyISAM exclusively for several years now and know the ins-and-outs pretty well of how to optimize it, but I've just recently started using InnoDB for some of my tables and don't know that much about it. What are some general tips to help improve the performance of these InnoDB tables (they were converted from MyISAM and have anywhere from 100k - 2M rows and most won't use transactions).
Applicable to either engine is your table design. Make sure that you have your indexes setup correctly for example.
Start by taking at look at the following http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html
You may also want to grab MySQLTuner (http://blog.mysqltuner.com/) and run it to see what you get back. It does not change your system but also may give you some ideas where to start looking
DB tuning starts at the server level, goes to MySQL server setup, database design and onwards to query design and up to the application level. I have had clients who did some nasty things to databases with their application design, e.g. connection pooling, long-running transactions, etc.