The only way to get around with existing structure would be to add required
constraints to the table to prevent dirty data from getting into it.
Some designers when faced with similar concerns, often consider splitting
the table to multiple ones to form super-type/sub-type relationships.
Perhaps that might be a better approach to your problem here.