Can new columns be added or remove? Does it happen often? What is the access pattern of the users or applications?
Based on the small file size and the variable column length I would lean towards HBase. More info is needed to fully evaulate (i.e. if the app or users use and know SQL it would add more weight to using Hive).
Now if you have to do Hive, then, I would flesh out each record to align the columns.