Active Record attributes (has_many vs serialization vs sti)

I have a set of STI models, each have slightly different attributes. While I could create a row for each one, I feel that there may be too much null data in the database. At the moment I setup a has_many to a parameters table which stores key value pairs. I want to find the best solution for performance and simplicity.

1) STI for each field (I think new fields will be needed more than not, and will require a lot of migrations)

2) Parameters has_many association. Seems like overkill, not sure if I am getting a performance hit here.

3) Serialize params via YAML or Marshal

Any recommendations? Performance is primary concern, simplicity second.