As @DavidRicherby said, just "rainfall" would be more natural than "rainfall activity."
Sentence 1 – in
The rainfall has gone down in the past two days.
This means that, at some point in the previous two days, the volume of rainfall has decreased. There is no indication of whether it decreased gradually over the two days or not.
Sentence 2 – over
The rainfall has gone down over the past two days.
This sentence has at least two meanings that I can see:
That the amount of rain that is falling has, over the past two days, decreased; or
That, in comparison to the volume of rain that fell in some other time frame, the volume of rain that fell over the past two days was less.
Here's an example for the second meaning:
On Monday and Tuesday we measured 15mm of rainfall. On Wednesday and Thursday we measured 10mm of rainfall. Today is Friday, so the rainfall has gone down over the past two days.
Sentence 3 – for
The rainfall has gone down for the past two days.
This has a similar meaning, but to me it has different connotations. It means that the volume of rainfall has gradually decreased, but it also implies that multiple measurements were made over the course of the two days and at each measurement the volume had decreased.
Sentence 4 – during
The rainfall has gone down during the past two days.
This sentence doesn't sound natural to me. It would certainly be understood, but it doesn't sound natural. However, this may just be a dialect difference between British and American English. If we use Google Ngram Viewer, we can see that "during the past two" used to be significantly more common in American English than it was in British English:
American English:
British English:
Using over is the safe option, since in both cases during is declining in usage. However, it does appear that during is correct.
The present perfect would emphasize that the point-of-timeliness was in the past
For example, you could go to the tailor's shop on Friday to pick up your new suit. It's not ready. You could then complain to the shop that it was supposed to be ready by now. It was supposed to have been ready by Wednesday.
or that the referenced point-in-time was in the past:
The winner of the November election ten years ago was supposed to
have been inaugurated the coming January but was indicted for tax
fraud and went to prison instead.
Many native speakers would choose the simple tense:
... was supposed to be ready by Wednesday
... was supposed to be inaugurated
Best Answer
The preposition for is entirely optional in OP's exact context. My first thought was it makes no difference what the preceding verb is, but on reflection that's not quite right. Consider...
I don't like any of the above without for. But I've no problem with...
I think the distinction turns on the fact that it's acceptable (but not required) to drop the preposition for before the time-frame IF the verb that it adverbially modifies implies some kind of extended action or state that inherently has a duration.