1. You can update the message payload when 'recovering' the faulted mediator instance for msg2 in EM console. So if it's a data issue, fix/update the data at the source, and do not trigger the service; instead, update the payload in the recovery page in EM console as needed and retry. This will be a manual activity only. I don't think there is any other easy approach/option/configuration available for this.
2. Not sure if there is a direct option to automatically process suspended messages in a timed-out group once the missing message arrives. It needs a manual intervention where you 'Skip' to unlock the group from time-out and process further message. I think there are Resequencer APIs available that probably can be used to automate such error handling/recovery.