MyISAM has a concurrent insert mode, which you can play with to allow it to append records to the end of the data file (rather than hunting for a gap in the middle of the data file) if there is another SELECT in progress, thus avoiding locking that SELECT out.
You can tailor it to your individual circumstances.
http://dev.mysql.com/doc/refman/5.1/en/concurrent-inserts.html