If your incoming data is out of order, the obvious solution to me is to use a few lines of Lua to compare the incoming timestamp to the current timestamp, and to discard the incoming message if it is older than what is already there. So maybe one hash of weather values, one hash of latest timestamps, in each case using the weather station as the key.
2: I imagine there is no problem with new containers having a random ID, as long as you are sure it has not been used before. You could even use redis to log your consumer name, ensuring subsequent clients to not pick it (perhaps throw in an expiry time and other tickle your key every so often, or terminate the instance before the expiry time would be reached (e.g. 1 month)).
If a consumer isn't seen by redis for a while it should not be a problem. Other consumers will pretty soon process its unacked messages and there will be negligible overhead to its being there.