Having begun his career with Stenhousemuir as a trainee, Niven joined Scottish Football League side Raith Rovers in August 2000. He made his debut on 3 February 2001 in a 4–0 home defeat to Ross County in which he came on as a 62nd-minute substitute for Kenny Black. This would be Niven's only first team appearance for Raith, having also appeared as an unused substitute on numerous occasions.
Bolton Wanderers
On 18 November 2001, Niven was signed by Sam Allardyce for Premier League newcomers Bolton Wanderers on a free transfer. A week later he made his debut for the club's reserve side against Newcastle United alongside such players as Dean Holdsworth and Nicky Southall.[3] He remained a fringe player at the Reebok Stadium until his departure in December 2003, however during his two-year spell he failed to make a single first team appearance.
Chesterfield
Niven signed for Football League Division Two side Chesterfield in December 2003, making his debut in English football on 13 December 2003 in a 2–2 draw at home to Tranmere Rovers. Niven became a regular in the Spirerites squad and scored his first senior goal in a 1–0 victory over Blackpool on 24 April 2004. Chesterfield managed to avoid relegation at the end of the 2003–04 season having climbed out of the drop zone on the last day of the season at the expense of Grimsby Town.
Chesterfield were eventually relegated at the end of the 2006–07 season, and in November 2008 the club confirmed that Niven had begun treatment for testicular cancer[4]
Niven returned to the Chesterfield setup in March 2009 after recovering from a year-long stint suffering with testicular cancer. His return was pronounced with a wonder goal against Grimsby Town on 11 March. In May 2010, Niven struck the decisive goal in a 2–1 victory against AFC Bournemouth at Saltergate, Chesterfield's final game at the stadium before relocation. As Chesterfield's longest serving player at the time, his dramatic volley deep into injury time also ensured that he would be the last player to score at Saltergate after 139 years of football at the ground.[5] This dramatic ending to the 139 years of history was celebrated with an immediate pitch invasion from the home crowd.
He was released by Chesterfield at the end of the 2011–12 season, having made almost 300 league appearances for the club.[6]
Grimsby Town
In July 2012 he began training with Conference National side Grimsby Town, alongside former Macclesfield Town player Lewis Chalmers.[7] After impressing in the club's 12–3 victory over Grimsby Borough he was offered a contract by the club, while Chalmers was released.[8] On 16 July 2012, he signed a one-year contract with the club.[9] Niven was ever present for the club in the centre of midfield with Craig Disley and helped play a part in the club's promotion and FA Trophy run in. Grimsby missed out on lifting silverware at Wembley Stadium having been defeated on penalties to Wrexham, and later lost out in the play-offs to Newport County. Town released Niven on 2 May 2013.[10]
Non-League
On 17 July 2013, it was announced that Niven had dropped a further two leagues down by signing for Northern Premier League side Buxton.[11] In 2016, he moved from Buxton FC to join Bakewell Town FC in the Hope Valley league.