The last time I looked at this seriously was about a year and a half ago. At that time, there still was no Visio viewer native to Linux. Running it through Wine was also fruitless for me.
What worked was keeping a Windows virtual machine on my computer and having Visio installed also there. I ran VMWare, but I'm sure VirtualBox would work too. Microsoft does get their cut this way, but this was not an issue for me personally since my employer furnished the software.