Both UPS and FedEX have a "hold at depot" option. You put your name on the package but their address plus "c/o UPS hold at depot".
The downside is the depots are usually in industrial parks near the airport with a complete lack of public transportation. You will need a car to go get it.
The delivery/pickup window is also limited - after 3-4 days they will send the package back.
If it can go regular mail you can use general delivery (as it is known in the US; also known as poste restante in much of the rest of the world). This doesn't work in big cities, but in smaller towns with only one post office they just put the package on the shelf until you show up.
If you are near either border there are receiving warehouses that will accept nearly anything. You will be charged a (reasonable) receiving and daily storage fee.