I think the problem is more the winner takes all approach that almost all states employ regarding the electoral votes. As it stands whichever candidate wins the popular vote in the state gets all the electoral votes for that state. Thus, Obama who only won 58% of the NJ popular vote gets all 14 electoral votes, completely disregarding those in NJ who voted for other candidates, which is 42%. That’s a huge number to essentially ignore. In this regard I can perfectly understand how you feel your vote doesn't count.
However, if it were instead that the votes are divvied up according to the popular vote; Obama would have received 8 of the 14, Romney 5, and Johnson 1. Take California, the candidate knows that they only have to get 51% of the vote to get all 55 electoral votes; Obama got 59% and netted all 55, which was a huge victory. Take a look at an election map of CA; there are huge swaths of red in there, to the tune of 38%, which could have meant 21 votes for Romney. That would have greatly changed the race.
Instead of a candidate putting in a minimum effort in each state or relying on a state that is usually staunchly Dem or Rep, they’d have to fight for every vote. Of course, no one in power wants it this way, so we get the broken system we have.