You should definitely store your storage schema in VCS. When you first compile and install your solution into an environment, it doesn't really matter -- as you said, storage will be generated automatically during compilation. However, this will cause major issues when you'll have to upgrade your environment to a newer version of your class and keep the data.
If you had a class definition in Version 1 of your system with properties Address, Zipcode your storage schema will look like
If in version 2 you add another property, BusinessPhone, and you kept your schema, new storage definition will look like
And all old data will still be valid, just its BusinessPhone property will be empty
However if you didn't save your schema, new storage will be alphabetically sorted as this:
And all old data will have its ZipCode as BusinessPhone now!
I encountered this problem a couple of times, when class definition was exported before it was compiled (and storage schema was not updated), and it was not easy to fix: you need to iterate across the whole global and rewrite it, trying to guess if it's an old data or a new one.
Hope this helps