My U.S. visa will expire in the next 6 months. Do I need to apply for a new visa after my current visa expires or can I apply in advance?

You do not have to wait until your current visa expires. You can apply for a new visa even if your current visa is valid.