db_insert in Drupal 7 without field names
You can not do this with db_insert().  You could probably dig into the InsertQuery class and get it done, but that's no different than what you're already doing IMO.

I have never seen INSERT without specifying column names, for good reason, although apparently you can (mysql api).  If you do this, it makes it more difficult for someone else to understand what you've done, and impossible to alter the table structure without causing headaches.  

You can look at the waydrupal_write_record() uses drupal_get_schema() to create the fields if you'd like to automate the process (although it would probably take just as long to write the $fields array one time).