There are banks and credit unions that don't charge fee for incoming wire transfer. You most likely won't get that from big brick and mortar banks like BofA, Citi but if you are doing it regularly, using another bank that offers it free would save you a lot. Since ACH are free, you can transfer money between those banks to your regular bank (e.g. BofA) for free. There would be delay involved in this process due to additional ACH. You could also use one these banks as your primary bank to avoid that delay.
Credit unions are also generally fee friendly and many would offer free incoming wire transfer. However you are limited to what is available to you as all of them would have some membership criteria.