En lugar de tener demasiadas columnas con solo valores verdadero/falso, sugeriría tener una columna de tipo entero nombrada como 'some_status' para reemplazar algunas de las propiedades con la misma categoría. Como por ejemplo, some_status =10 significa activo, some_status =20 significa inactivo, some_status =30 significa pendiente, etc. Probablemente ayudará a reducir algunas columnas.
SUGERENCIA 2
Como mencionó, agregará propiedades binarias regularmente, por lo que le sugiero que diseñe su base de datos como se muestra a continuación para que pueda actualizar la tabla Binary_property en cualquier momento que lo desee.
Y para su situación en la que solo unas pocas propiedades binarias serán verdaderas, puede considerar agregar solo esas propiedades binarias en la tabla Entry_Binary_properties cuando sea verdadero. Más tarde, cuando seleccione, si la propiedad Binary no está en la tabla Entry_Binary_properties, será falsa por defecto.
Espero que esto ayude. =)