Q:

What is head of a bone?

For most of the long bones head is the proximal end, but for metacarpals and Ulna, head is the distal end. Why are their distal ends called as heads?
What's the criteria for calling an end as head end?

A:

Here is a head and a neck:

Anatomy is fairly straightforward. regarding individual long bones, "heads" are curved ends of bones distal to a narrowing called a neck of a bone. Take the radius:

See how the radial head (curved) is just distal to a narrowing (neck)?
The ulnar head, though, is at the opposite end, because the proximal end isn't rounded, but the distal end is.
Metacarpal heads are distal (see blue area):

The humeral head is probably most obvious:

So, the head of a long bone is not determined by the position (it can be proximal or distal) but by the contiguous shapes.

