ちなみに、中心一点というかそれを基準にするのは悪くないと思う
なにより二次元における閉じた図形であれば必ず重心が一点のみ存在する訳で、これほど保守性の高い性質はない。

あと、

if(playerRectangle.intersects(blockRectangle) {
Rectangle intersection = (Rectangle) playerRectangle.createIntersection(blockRectangle);
...
...
}

で重なった矩形が取れるなんつーくっそ便利なモノ使わないと損だと思うよ。
四隅にこだわってる理由がよくわからんし、一応ここJavaスレだで。