I understand how you feel but I actually prefer working in core since I know exactly what I am doing, it is more understanding but less learning. It's like hundreds of build-in "switches" and commands and I need to make sure I know how they interact with each other.
Coding against the OpenGL 2.0 specification doesn't mean you have to use any of the fixed-function pipeline though. You can use modern / core style programming in OpenGL 2.0 just fine.
Simply ignore the build-in matrix functions and maintain & upload your own mat4 uniforms, ignore all of the designated attribute features ( such as normal / texCoord etc. ) and only use generic attributes, ignore all of the build-in light & fog functions etc etc.
The only thing you need to pay attention to is that you don't use any functions that aren't available in OpenGL 2.0.