Usually people don't "bash" DirectX or D3D. Most OpenGL programmers acknowledge that it is a better API with more corporate backing (ie. budget). But at the same time it is still Windows only, and for a lot of people it simply isn't an option.
For OpenGL, the tooling is provided by individual vendors, and yes, it's not as good as d3d. But the situation has improved in the past few years and keeps on improving.
Even NVidia only started to invest in OpenGL performance measuring tools, after their Android support started.
Yes, there probably aren't tools that are as good as the D3D tools. But Nvidia, AMD and Intel have all released OpenGL profiling and debugging tools. Yes, every vendor has their own tools. Not ideal.
Fantastic book. C++ but you can use SharpDX for your C# development, which complies reasonably closely with the standard DirectX APIs. There are numerous websites/articles only a Google search away to fill in any gaps if/when you get stuck. This is the approach I've been taking. http://nathanridley.com if you're interested.