What I usually do in those situations, if the file's not way too extremely large (2GB max file size; for any size up to 1.5GB, I've found that it takes awhile, but not too long for me to use this method, at least on my system), is to load the file into a variable using OPENROWSET ... BULK ... SINGLE_CLOB.
After that, you can can the parse the first few rows of data yourself to determine the number of columns, then create an appropriate table, and finally do a standard BULK into that table.
SQL DBA,SQL Server MVP(07, 08, 09) Prosecutor James Blackburn, in closing argument in the Fatal Vision murders trial: "If in the future, you should cry a tear, cry one for them [the murder victims]. If in the future, you should say a prayer, say one for them. And if in the future, you should light a candle, light one for them."