We run MSSQL on VMs under XenServer. We have two pretty hefty MSSQL VMs, and I have them configured so that TempDB, User DBs, Logs, and backups are all on their own virtual disks. These virtual disks all reside within the same SR, which is a virtual volume on our 3PAR SAN. Each MSSQL server is given it's own virtual volume.
I grow the respective virtual disks as needed, as well as the virtual volume. It has worked out well in our instance. If we didn't have the flexibility the 3PAR "virtual volume" model, I would probably be approaching this differently.
As for the "number of TempDB files per logical processor", I have this implemented on our two large production MSSQL servers. Whether or not it improved performance I cannot say for fact. I can tell you that it did not cause any harm for us. I have 8 TempDB files that are of equal size (since the rule of thumb is to not exceed 8 if you have more than 8 logical processors), and I grow them as needed. I believe there is a trace flag that you can set (in 2012 anyway) that will make auto-growth grow all files evenly, but I'm paranoid and handle it manually.
Of course, every MSSQL environment is different. So your resulst may vary.