Você pode investigar um modelo EAV . Muitas vezes recebe uma crítica ruim, mas acho que existem alguns casos em que é um método bastante eficaz. Houve um ótimo post no SO relacionando o EAV ao 6NF puro e como era um ótimo modelo, no entanto, não consigo rastreá-lo.
Dito isso, é mais útil ao tentar armazenar uma grande variedade de atributos em uma única entidade. Este pode não ser o seu objetivo principal e, portanto, pode ser que outros tenham uma ideia melhor, mas eu diria que vale a pena dar uma olhada.
Editar:
Aqui está o link ao qual me referi anteriormente Vale a pena investigar alguns dos pontos levantados aqui para determinar se ele é realmente adequado à sua situação.