You are right, it is a lot of files to deal with...
ROS, among other things, is a convention for developing large software systems. They say Robot Operating System but what they mean is Robot Software Build, Packaging, and Network Transparent Interprocess Communication System. RSBPNTICS does not roll off the tongue though...
ROS is not the best build and packaging system but it's got a decent amount of documentation and it's got 'robot' in the name. Read the ROS docs, do the tutorials, and after a little while you will start learning how to make small changes to large systems of software.
The basic process is that you grab the source code for the library or process that you want to modify and build it. You replace the system version with your version (there are lots of ways to do this, but what you don't do is delete the system version). And then you make the changes you want to the source code. Most source code libraries are managed with version control software like git or subversion and you will have the opportunity to use them to contribute your changes back to the original authors.
Understand that it will take learning and practice to develop enough experience where things start making sense. In the mean time, make friends with people that already have some experience to learn from and help you out along the way.
If you have time to look around at other things for a little bit before starting, check out rock-robotics, another robot software build & packaging system. Rock is arguably more closely integrated with Orocos. There are also several other frameworks devoted to robotics that you will find with a little searching.
You are correct in your assesment that the software stack is more complex than the robotics. But this is only because of the stack you've chosen. Depending on what exactly you are doing, it might be quicker and easier to just write it all from scratch.
I recommend against using a virtual machine unless you have to. It just adds a layer of stuff to deal with. Installing ROS on a machine, even building ROS from source, is easy enough. Ubuntu 14.04 for ROS Indigo. I prefer developing on a faster moving distro and use Archlinux where ROS is well supported via the AUR repository.
A comment on your list of tools... I don't think you've found the right simulation combination yet.
Bullet (a video game physics simulator by Sony where looks and speed are more important than accuracy) is not something I'd use. Bullet does have soft body support but check the equations and integration functions for accuracy before you use it.
As you look for a suitable simulator to build on, take a look at simbody. I don't think it has what you need but it is some of the most beautifully organized and commented code I've seen. Use it for inspiration.
Gazebo is only a (nice and useful) wrapper that actually prevents a lot of features of the underlying simulators to be used. Don't be afraid to use the simulators without gazebo.