I think 中国人 only refers to people having Chinese nationality while 华人 can be referred to any Chinese-descent people.
If one person is China-born and has Chinese nationality, should I always use 中国人? Is 华人 less common, or in the worst case, rude?
You're correct - 中国人 is specific for nationality with People's Republic of China.
华人 can refer to anyone from China / Taiwan / Hong Kong / Macau / etc.
In situation where nationality matters, one can use 中国人 for China-born + Chinese nationality.
EDIT: I've a few suggestions on the above line; People from the "华人" group can be refer to as 中国人 too. The line above suggest that, say when you're going through customs (where nationality matters), 中国人 = Chinese nationality. There's no contradiction arise.
华人 is usually used while identifying group of people (mentioned above) when they're in a foreign country. It's not rude at all.
中國人refers to the people who live in 大中華地區，which includes Republic of China 中華民國 (Taiwan and China Mainland), Hong Kong, and Macau.
中國人may also refer to the ancestor or the Chinese generation who live oversea.
中国人you must call zhongguoren ,this is the right one