Curve point generators for ECC
Now, this is where I'm confused. I've read once that selecting right points isn't a trivial task, there exists an algorithm to test the rank of a point, but it's somewhat complex to implement. However I've also heard that most of the points on an elliptic curve are generators, and when selected in a pseudo-random manner it's very unlikely to fall onto a bad point.


Actually, finding a generator is typically a lot easier than what you've read, at least in practice.

In crypto, we generally use curves that have an order of the form $hq$, where $q$ is a large prime, and $h$ is a small integer.

So, what you do is:


Run your hashing function to create an arbitrary point $H$
Multiply it by the cofactor $h$ to find the point $H' = hH$ (which is totally trivial for those curves with $h=1$; not that difficult for curves with larger cofactors)
Verify that $H'$ is not the neutral element (aka the identity aka the point at infinity).


If $H'$ is not, then that's your generator; it's guaranteed to be of order $q$, and to have no known relationship with other points (assuming that your original point $H$ didn't)