Change Facebook (and others) photo saving folder
I had EXACTLY the same problem. I couldn't find a solution else where. The only solution was to use a .nomedia file in the /sdcard/DCIM/Facebook directory and moving the *.jpgs to another folder. I had made a Tasker task referring to a reddit post in /r/tasker. Here is the description and the XML for importing it. You have to create the %destpart and add a .nomedia in %sourcepath for it to work. You can run this task in a profile as an exit task for Facebook and as an entry task for other messenger apps like Telegram/Whatsapp, etc. so you get your memes right!

The Meme Mover (3)
A1: Variable Set [ Name:%sourcepath To:/sdcard/DCIM/Facebook/ Recurse Variables:Off Do Maths:Off Append:Off ] 
A2: Variable Set [ Name:%destpath To:/sdcard/Pictures/Facebook/ Recurse Variables:Off Do Maths:Off Append:Off ] 
A3: Variable Set [ Name:%suffix To:(1) Recurse Variables:Off Do Maths:Off Append:Off ] 
A4: Variable Set [ Name:%counter To:0 Recurse Variables:Off Do Maths:On Append:Off ] 
A5: List Files [ Dir:%sourcepath Match:*.jpg/*.png/*.jpeg/*.gif/*.3gp Include Hidden Files:Off Use Root:Off Sort Select:Alphabetic Variable:%filestomove ] 
A6: For [ Variable:%thispathfile Items:%filestomove() ] 
A7: Variable Split [ Name:%thispathfile Splitter:/ Delete Base:Off ] 
A8: Variable Set [ Name:%len To:%thispathfile(#) Recurse Variables:Off Do Maths:Off Append:Off ] 
A9: Variable Set [ Name:%filename To:%thispathfile(%len) Recurse Variables:Off Do Maths:Off Append:Off ] 
A10: Variable Clear [ Name:%exists Pattern Matching:Off ] 
A11: Test File [ Type:Type Data:%destpath%filename Store Result In:%exists Use Root:Off Continue Task After Error:On ] 
A12: If [ %exists !Set ]
A13: Move [ From:%thispathfile To:%destpath%filename Use Root:Off ] 
A14: Scan Card [ File:%destpath%filename ] 
A15: Else 
A16: Variable Split [ Name:%filename Splitter:. Delete Base:Off ] 
A17: Variable Set [ Name:%filename1 To:%filename1%suffix Recurse Variables:Off Do Maths:Off Append:Off ] 
A18: Variable Join [ Name:%filename Joiner:. Delete Parts:Off ] 
A19: Move [ From:%thispathfile To:%destpath%filename Use Root:Off ] 
A20: Scan Card [ File:%destpath%filename ] 
A21: End If 
A22: Variable Add [ Name:%counter Value:1 Wrap Around:0 ] 
A23: End For 
A24: If [ %counter eq 0 ]
A25: [X] Flash [ Text:No memes? Sad. Long:On ] 
A26: Else If [ %counter eq 1 ]
A27: Flash [ Text:%counter meme moved! Long:On ] 
A28: Else 
A29: Flash [ Text:%counter memes moved! Long:On ] 


 Remember to have .nomedia in %sourcepath 

Here's the XML for direct import:

&lt;TaskerData sr="" dvi="1" tv="4.9u4"&gt;
&lt;Task sr="task3"&gt;
    &lt;cdate&gt;1489093858387&lt;/cdate&gt;
    &lt;edate&gt;1489219027762&lt;/edate&gt;
    &lt;id&gt;3&lt;/id&gt;
    &lt;nme&gt;The Meme Mover&lt;/nme&gt;
    &lt;pri&gt;100&lt;/pri&gt;
    &lt;Kid sr="Kid"&gt;
        &lt;launchID&gt;3&lt;/launchID&gt;
        &lt;pkg&gt;me.regalstreak.movefb&lt;/pkg&gt;
        &lt;vnme&gt;1.0&lt;/vnme&gt;
    &lt;/Kid&gt;
    &lt;Action sr="act0" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%sourcepath&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;/sdcard/DCIM/Facebook/&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act1" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%destpath&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;/sdcard/Pictures/Facebook/&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act10" ve="7"&gt;
        &lt;code&gt;342&lt;/code&gt;
        &lt;se&gt;false&lt;/se&gt;
        &lt;Int sr="arg0" val="4"/&gt;
        &lt;Str sr="arg1" ve="3"&gt;%destpath%filename&lt;/Str&gt;
        &lt;Str sr="arg2" ve="3"&gt;%exists&lt;/Str&gt;
        &lt;Int sr="arg3" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act11" ve="7"&gt;
        &lt;code&gt;37&lt;/code&gt;
        &lt;ConditionList sr="if"&gt;
            &lt;Condition sr="c0" ve="3"&gt;
                &lt;lhs&gt;%exists&lt;/lhs&gt;
                &lt;op&gt;13&lt;/op&gt;
                &lt;rhs&gt;&lt;/rhs&gt;
            &lt;/Condition&gt;
        &lt;/ConditionList&gt;
    &lt;/Action&gt;
    &lt;Action sr="act12" ve="7"&gt;
        &lt;code&gt;400&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%thispathfile&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%destpath%filename&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act13" ve="7"&gt;
        &lt;code&gt;459&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%destpath%filename&lt;/Str&gt;
    &lt;/Action&gt;
    &lt;Action sr="act14" ve="7"&gt;
        &lt;code&gt;43&lt;/code&gt;
    &lt;/Action&gt;
    &lt;Action sr="act15" ve="7"&gt;
        &lt;code&gt;590&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%filename&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;.&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act16" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%filename1&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%filename1%suffix&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act17" ve="7"&gt;
        &lt;code&gt;592&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%filename&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;.&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act18" ve="7"&gt;
        &lt;code&gt;400&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%thispathfile&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%destpath%filename&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act19" ve="7"&gt;
        &lt;code&gt;459&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%destpath%filename&lt;/Str&gt;
    &lt;/Action&gt;
    &lt;Action sr="act2" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%suffix&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;(1)&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act20" ve="7"&gt;
        &lt;code&gt;38&lt;/code&gt;
    &lt;/Action&gt;
    &lt;Action sr="act21" ve="7"&gt;
        &lt;code&gt;888&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%counter&lt;/Str&gt;
        &lt;Int sr="arg1" val="1"/&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act22" ve="7"&gt;
        &lt;code&gt;40&lt;/code&gt;
    &lt;/Action&gt;
    &lt;Action sr="act23" ve="7"&gt;
        &lt;code&gt;37&lt;/code&gt;
        &lt;ConditionList sr="if"&gt;
            &lt;Condition sr="c0" ve="3"&gt;
                &lt;lhs&gt;%counter&lt;/lhs&gt;
                &lt;op&gt;0&lt;/op&gt;
                &lt;rhs&gt;0&lt;/rhs&gt;
            &lt;/Condition&gt;
        &lt;/ConditionList&gt;
    &lt;/Action&gt;
    &lt;Action sr="act24" ve="7"&gt;
        &lt;code&gt;548&lt;/code&gt;
        &lt;on&gt;false&lt;/on&gt;
        &lt;Str sr="arg0" ve="3"&gt;No memes? Sad.&lt;/Str&gt;
        &lt;Int sr="arg1" val="1"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act25" ve="7"&gt;
        &lt;code&gt;43&lt;/code&gt;
        &lt;ConditionList sr="if"&gt;
            &lt;Condition sr="c0" ve="3"&gt;
                &lt;lhs&gt;%counter&lt;/lhs&gt;
                &lt;op&gt;0&lt;/op&gt;
                &lt;rhs&gt;1&lt;/rhs&gt;
            &lt;/Condition&gt;
        &lt;/ConditionList&gt;
    &lt;/Action&gt;
    &lt;Action sr="act26" ve="7"&gt;
        &lt;code&gt;548&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%counter meme moved!&lt;/Str&gt;
        &lt;Int sr="arg1" val="1"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act27" ve="7"&gt;
        &lt;code&gt;43&lt;/code&gt;
    &lt;/Action&gt;
    &lt;Action sr="act28" ve="7"&gt;
        &lt;code&gt;548&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%counter memes moved!&lt;/Str&gt;
        &lt;Int sr="arg1" val="1"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act3" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%counter&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;0&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="1"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act4" ve="7"&gt;
        &lt;code&gt;412&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%sourcepath&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;*.jpg/*.png/*.jpeg/*.gif/*.3gp&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
        &lt;Str sr="arg5" ve="3"&gt;%filestomove&lt;/Str&gt;
    &lt;/Action&gt;
    &lt;Action sr="act5" ve="7"&gt;
        &lt;code&gt;39&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%thispathfile&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%filestomove()&lt;/Str&gt;
    &lt;/Action&gt;
    &lt;Action sr="act6" ve="7"&gt;
        &lt;code&gt;590&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%thispathfile&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;/&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act7" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%len&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%thispathfile(#)&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act8" ve="7"&gt;
        &lt;code&gt;547&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%filename&lt;/Str&gt;
        &lt;Str sr="arg1" ve="3"&gt;%thispathfile(%len)&lt;/Str&gt;
        &lt;Int sr="arg2" val="0"/&gt;
        &lt;Int sr="arg3" val="0"/&gt;
        &lt;Int sr="arg4" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Action sr="act9" ve="7"&gt;
        &lt;code&gt;549&lt;/code&gt;
        &lt;Str sr="arg0" ve="3"&gt;%exists&lt;/Str&gt;
        &lt;Int sr="arg1" val="0"/&gt;
    &lt;/Action&gt;
    &lt;Img sr="icn" ve="2"&gt;
        &lt;cls&gt;com.facebook.katana.LoginActivity&lt;/cls&gt;
        &lt;pkg&gt;com.facebook.katana&lt;/pkg&gt;
    &lt;/Img&gt;
&lt;/Task&gt;&lt;/TaskerData&gt;


Copy the code above and save the file as The Meme Mover.tsk.xml in /sdcard/Tasker/tasks. Then go to Tasker, long press on Tasks, and import this.

Pro Tip: Enable A25 just for testing if you want to.

Edit: Code corrected and updated. (1 memes moved was triggering my OCD.)

Edit 2: Had some problems, corrected again.