Overall Battlefield is a better game. But BF4 is so buggy right now that i'd put Ghosts over it. However once the bugs are gone BF4 would definitely be my recommendation.
To add to this, I feel like COD is a game you can pick up, and put down 5 minutes later. Whereas BF is a game where you're in longer games and a more challenging environment.