Great news everyone: Since revision r14172, QGIS supports non-spatial tables! This means you can finally load your CSV files directly into QGIS and work with them, e.g. use “Join by attribute”.
Loading the CSV file is performed using “Add Vector layer”. (Yes, the terminology is a little confusing here.) The resulting layer will be shown in the legend list and the content can be view via attribute table.
Great work Marco!