XNA is more flexible, it also offers a xbox networking library. If you want to build it for PC you need to come up with your own or use a existing network library for C#. XNA is harder, you would need to create you map editor and shaders from scratch where Unity comes with a editor and has handy visual tools for building shaders. Unity would definatly get the job done faster.
Another option would be UDK, it is a very nice engine and has everything in it to create a basic FPS game. It comes with an editor and shader tool like unity too.