Which of the following is correct?
Himalaya is home to diverse flora.
Himalaya is home for diverse flora.
Or is there a better third possibility?
Both are widely used and understood. There's even a third alternative, "home of". None of the three is "wrong" in and of itself. However, they mean slightly different things, and in your particular context, "to" is the preposition of choice.
"To be home to X" is a set phrase used precisely for talking about inhabitants of a given place (be it plants, animals, people, or robots). In your sentence in particular, it implies that the diverse flora is already there and has been for quite some time, while home for would imply that the diverse flora is kind of wandering around looking for a home, and now we can offer it one at the Himalayas.
Just to round it up, here are some quick-and-dirty Google stats:
COCA BNC is home to 1451 94 is home for 48 4 is home of 19 1
One piece of advice I would give: "Home for" is often used to designate some kind of charity group house. For example: "Home for Wayward Girls", "Home for battered and abused women", "Home for the mentally disabled", etc. This is probably why the other answers show it being less popular in common usage.
In your case, I don't think I'd chose "home for" unless you want to also give a subtle indication that the place is question is some kind of preserve.