How do I make Jenkins cancel a scm-triggered build if another scm-triggered build occurred?
First of all, it is not bad to build project for each change set, if build failed you will know which change set requires verification.
But if you want to combine some changesets into one build I recommend to setup Quiet period
in Advanced Project Options
to delay builds.