That last part is true. You no longer need glBindAttribLocation if you're using the layouts in the shader (works since OpenGL 3.2 I think).
About your vbos, I'm not sure. I don't know if its wrong though it looks okay. 3 different pointers for 3 different vbos that hold different attributes. Though I'd store everything in a single vbo.