How can we hide the CiviCRM System Status page?
This can be fixed by removing the permission 'CiviCRM: administer CiviCRM' from these users.  You called them non-admin so they shouldn't need this menu?  If they don't have this permission they won't get the messages.