It really depends on your goal for this project, because XNA and Unity are completely different beasts. XNA is "only" a 3D and multimedia C# library, while Unity is a full-fledged 3D game engine that has already done the complicated software engineering work for you, so you just plug in your game logic and hit Play.
If you're looking for a good programming exercise, XNA would be the better choice because it doesn't come with an engine.
If, on the other hand, you're looking to test a game design concept, or actually release a commercial 3D game on multiple platforms, then yeah go with Unity unless you *really* want to program a game engine. (If you want to make a 2D game, I agree GameMaker would be better suited.)
XNA has apparently been discontinued because Windows RT and Windows 8 "Metro" favors C++ programming, so yeah I would be careful before investing in a discontinued platform. (Maybe favor MonoGame.) However, if you know you want to use it, there are plenty of great games that have been successful using XNA, like Fez, Bastion, Breath of Death, etc. so it's a totally viable platform. Besides, looking at how things seem to be going, Windows 8 and Windows RT are likely to die long before XNA. ;)