Using S-Class is the only way for true end-to-end redundancy, but if you still may be able to get some redundancy using another method.
If you can run GigaACE through managed ethernet switches (ask A&H support about this), then you could create a LAGG between two managed switches and then connect the mixrack to switch 1, and the surface to switch 2. This would give you redundancy between the two switches, but that’s all. This could help if something were to happen to 1 of the multiple runs between the 2 switches. Again, you would need to find out if running GigaACE this way can be done safely.