I've been having an issue with just US customers and this happening. I think my AT&T customers have been the worst affected.
Regardless - the most common issue with this is ISP modems (specifically NAT timeout bugs for UDP traffic). Get the home users to check they are using the most up to date firmware on those devices.
On the head end, the most reliable config is to have a public IP address directly on them. If you can't do that, then use a manual port forward to them so they are always using the same port.
https://documentation.meraki.com/MX/Site-to-site_VPN/Troubleshooting_VPN_Registration_for_Meraki_Aut...
Start making a note of which ISPs the problem users are having. Is it by chance the same ISP?
Failing that, you could write a little script to give all the fleet a reboot at (say) 2am. Untested, but something along the lines of:
for device in dashboard.organizations.getOrganizationDevices(orgId, total_pages='all'):
if(device['model'] in ('MX64W','Z3')):
dashboard.devices.rebootDevice(device['serial'])
If you are completely new to scripting check out the getting started guide on the developer connection.
https://developer.cisco.com/meraki/api-v1/#!python/meraki-dashboard-api-python-library
If you have no Python skills (and not keen to learn a new skill) perhaps ask around in your company and maybe someone else might.