Fields may be applicable to only some products in a product line.
As you mentioned, we currently provide the ability to create custom lines at either the product or product line levels. When creating custom fields at the product line, you only need to create it once and they will apply to all sub-product lines a child products.
While we understand that you might only want the fields to apply to some products, another benefit of setting it at the product line, is that you can also more easily report on the custom field across products (when the custom field is created once at the product line level).
Using product line custom fields allow you to report on a single custom field across multiple products, whereas using multiple custom fields across different products, would result in multiple reporting fields (which is likely to be less desired).
Because of the rationale noted above, we would recommend moving forward with a product line custom field set up (while understanding the down side that some products will have fields which are not used). We hope that this makes sense.