So, the standard answer here I'd imagine would be to leverage publication lists. The use case is that the customer is sending their subscribers emails and want the subscriber to be able to "unsub" from certain publications. I know that we can do this with publication lists out of the box, but I'm curious if anyone has ever done this strictly with data extensions. Just looking for some guidance here on best practices on how I should attack this.
I think you answer your own question really.
If you are sending to Data Extension then Publication Lists are the standard /out of box solution for managing subscriptions to publications as the subscriber then unsubscribes from that publication list.
It does require you to link the publication list to the data extension at time of send.
The alternative would be to build a custom preference centre and use Boolean values/fields to subscribe/unsubscribe a contact from their 'publication'. You could then segment data extensions with SQL to give you only the 'subscribed' contacts. It's not really unsubscribing them, just managing segmentation using values. It wouldn't work with standard SFMC Unsub Centre, so it's a much bigger/complex build as you will need to build a custom preference centre.
Question to you would be - why don't you want to use Publication lists?