First, 1,048,576 should be more than enough.
We found out that the Java process actually bumps up the soft limit up to the hard limit when it starts, so from what I can tell, you don't need to worry about the soft limit (you can check per-process limits and see!)
To estimate the number you are going to need, you will need to know how many files you'll have on the broker and how many connections you'll have.
Estimating number of files is especially difficult, since this can change from partition to partition, and also within the same partition over time.
Gwen