Short answer
HIV infects macrophages because macrophages display the CD4 cell surface receptor needed for initial HIV attachment, and also display the co-receptors CCR5 and/or CXCR4 that are also needed for virus entry into the cell.
Cells that aren't good hosts for HIV don't have these receptors.
Addressing some confusion
You ask why HIV chooses macrophages as a virus producing factory. Be careful that you don't excessively anthropomorphise viruses - viruses 'choose' which host cell to infect in the same way that you 'choose' to feel pain when you stub your toe. It is a product of evolution, and not the result of a logical thought process by the HIV virus.
Other viruses happen to infect epithelial cells, or liver cells, or plant cells. HIV infects CD4+ cells. There is no 'best' option that viruses will somehow 'choose'. Anything that allows for successful reproduction and transmission is a viable option, and the rest is down to random mutations and evolution.
Red blood cells as virus factories?
Finally, you ask about red blood cells as a better host for viruses. In fact, red blood cells make very poor host cells for viruses, as they lack the cellular machinery required for DNA replication and protein production. It is this cellular machinery that is usually hijacked by viruses in order to replicate. Red blood cells lose their nucleus early in development, and it is only more complex organisms (such as the Plasmodium species that cause malaria) that can effectively hijack a red blood cell. These Plasmodium parasites have their own nucleus for protein production and DNA replication.