re-creating the triggers after I run the snap does the trick for me.
The way I do it and it has always been worked is the following:
Before I run the snapshot and reinitialize the subscriptions,
I go to the subscription databases and script out all the permissions, triggers, synonyms, and in some cases the indexes (when indexes in the subscription are different than the indexes in the publisher).
when running and applying the snapshot it basically will re-create all the tables (that are part of the publication)
so if you do a
select * from sys.tables you will see the
create date of those tables.
Basically right after you run the snap, you then need to apply all those scripts you previously generated as I mentioned before (permissions, triggers, synonyms, indexes). there is even a place you can set up the script to be run immediately after you run the snap so it does it automatically for you.
Just make sure you have all the permissions set to read a file that is saved somewhere.