How can I determine the rotation point and the rotation axis if I know two velocities of a rigid body? 

In case of a "2D" rigid body I can find a vector $\vec{r}_1$ that is perpendicular to the 
velocity $\vec{v}_1$ at point $p_1$,
$\vec{r}_1\perp \vec{v}_1$ at point $p_1$,
and the same for point $p_2$,
$\vec{r}_2\perp \vec{v}_2$ at point $p_2$.
The intersection between $\vec{r}_1$ and $\vec{r}_2$ is the rotation point. The rotation axis goes through this point towards the $z$ direction.
For a "3D" rigid body the same calculation doesn't work because the intersection between
$\vec{r}_1$ and $\vec{r}_2$ is not unique.
Question: 
How can I determine the rotation point and the rotation axis for a 3D rigid body?
 A: The rotation axis of a rigid body can be uniquely identified with a simple calculation once the rotation velocity vector $\boldsymbol{\omega}$ is known. 
The axis is defined by its direction and the point on the axis closest to the origin. The direction of the rotation axis is $$ \boldsymbol{\hat{z}} = \frac{ \boldsymbol{\omega}}{\| \boldsymbol{\omega} \|} \tag{1}$$
The point on the rotation axis is found from the location and velocity of any point on the rigid body, say p1.
$$ \boldsymbol{r}_{\rm rot} = \boldsymbol{r}_{\rm p1} + \frac{ \boldsymbol{\omega} \times \boldsymbol{v}_{\rm p1} }{ \| \boldsymbol{\omega} \|^2} \tag{2}$$

So the question becomes, how do we find the rotation vector $\boldsymbol{\omega}$ from the velocities of two or more points.

You can find the rotational velocity components that are perpendicular to the distance between two points with
$$ \boldsymbol{\omega} = \frac{ \boldsymbol{d} \times \boldsymbol{u} }{ \| \boldsymbol{d} \|^2 } + \lambda \,\boldsymbol{d} \tag{3} $$
where $$\begin{array}{r|l}
\text{variable} & \text{description} \\ \hline
\boldsymbol{d} = \boldsymbol{r}_{\rm p1} - \boldsymbol{r}_{\rm p2} & 
\text{relative position} \\
\boldsymbol{u} = \boldsymbol{v}_{\rm p1} - \boldsymbol{v}_{\rm p2} &
\text{relative velocity} \\
\lambda & \text{arbitrary constant}
\end{array} $$

The proof is found from the relationship between the point velocities
$$ \boldsymbol{v}_{\rm p1} = \boldsymbol{v}_{\rm p2} + \boldsymbol{\omega} \times ( \boldsymbol{r}_{\rm p1} - \boldsymbol{r}_{\rm p2} ) $$
$$ \boldsymbol{u} = \boldsymbol{\omega} \times \boldsymbol{d} $$
Now use (3) in the above
$$ \boldsymbol{\omega} = \frac{ \boldsymbol{d} \times (\boldsymbol{\omega} \times \boldsymbol{d}) }{ \| \boldsymbol{d} \|^2 } + \lambda \,\boldsymbol{d} $$
and use the triple vector product $(a\times(b \times c) = b (a\cdot c) - c (a\cdot b)$
$$ \boldsymbol{\omega} = \frac{ \boldsymbol{\omega} ( \boldsymbol{d}\cdot \boldsymbol{d}) - \boldsymbol{d} (\boldsymbol{d}\cdot \boldsymbol{\omega}) }{ \| \boldsymbol{d} \|^2 } + \lambda \,\boldsymbol{d} $$
and that $\boldsymbol{d}\cdot\boldsymbol{d} = \| \boldsymbol{d} \|^2 = x^2+y^2+z^2$
$$ \require{cancel}
\cancel{\boldsymbol{\omega}} =  \cancel{\boldsymbol{\omega}} - \boldsymbol{d} \frac{\boldsymbol{d}\cdot \boldsymbol{\omega}}{\| \boldsymbol{d} \|^2} + \lambda \boldsymbol{d} $$
$$ \lambda = \frac{\boldsymbol{d}\cdot \boldsymbol{\omega}}{\|\boldsymbol{d}\|^2} \tag{4} $$
A: In 3D things are slightly more complicated. The answer can be obtained by gathering together several other answers here on Physics SE.
The most general rigid body motion is not a simple rotation, but a rotation combined with a translation: this is Chasles' theorem. The motion can be described as screw displacement, since the displacement can be arranged to be along the axis of rotation, and this is discussed here on Physics SE: Instantaneous Centre of Rotation and Centre of instantaneous rotation problem. So you can decompose the problem into a simple rotation about an axis, with angular velocity $\vec{\omega}$ (whose direction defines the direction of the axis of rotation), plus a translation at some velocity parallel to $\vec{\omega}$. Determining the location of the screw motion axis is equivalent to the two-dimensional problem of determining the centre of rotation.
As you will see from those pages, determining the location of the screw axis is relatively easy, once you have determined $\vec{\omega}$. To do this, I believe you need to look at the motion of three (non-collinear) points, not two. To eliminate the translational motion, you have to consider relative velocities, for example
\begin{align*}
\vec{v}_1-\vec{v}_3 &= \vec{\omega}\times(\vec{p}_1-\vec{p}_3) \tag{1}
\\
\vec{v}_2-\vec{v}_3 &= \vec{\omega}\times(\vec{p}_2-\vec{p}_3) \tag{2}
\end{align*}
Just one of these equations, for example (1), is not enough to determine
$\vec{\omega}$,
because it says nothing about any component of $\vec{\omega}$ parallel 
to $\vec{p}_1-\vec{p}_3$.
One way of tackling this can be found at Angular velocity by velocities of 3 particles of the solid.
