Can clustering my data first help me learn better classifiers?
It is absolutely a way to improve your classifier's accuracy. Actually a "strong" enough classifier such as a neural network could be able to learn by itself these clusters. However, you would need a substancially deeper network.

The "smartest" way to do this, if you know there are many groups/clusters in your data is to actually perform a 2-steps process:


Cluster your data
Train X models, one for each of your clusters


A nice way to visualise this is the following problem, you want to build a recommendation engine for a Netflix-like application, you don't want to build one model per person, how would you do this ?


First find clusters of similar users (geeks, SF fans, teenagers, etc.)
Fit one model for each of these clusters