Although I'm not on Facebook anymore, I have the same problem with LinkedIn. To deal with it, I just add to my email sieve filter every so often. So far I have:
## Linkedin - Trash useless email
if allof(
address :is "From" "messages-noreply@linkedin.com",
anyof(
header :regex "Subject" "^(Congratulate|Say happy birthday to) .+",
header :regex "Subject" "^Check out .+ (updated profile|new skill|new photo)",
header :regex "Subject" ".+ is a?waiting (for )?your response$",
header :regex "Subject" "^News about .+",
header :regex "Subject" "ou have [0-9]+ (unread message|new update)",
header :regex "Subject" "Do you know .+",
header :regex "Subject" "^.+, you have .+waiting for you on LinkedIn$",
header :regex "Subject" "see who you already know on LinkedIn$",
header :regex "Subject" "^.+, more than [0-9,]+ new jobs in .+$",
header :regex "Subject" "^Connect to your classmates from .+$"
)
){
addflag "\\Seen";
fileinto "Trash";
stop;
}
I'm sure you could do something similar for Facebook if you just switched to email notifications and stopped using the mobile apps.