This might be too tangential for the Movies Stack Exchange, but I think it's an interesting question. Scarlett Johansson is a singer as well as an actress. She's made two albums and been nominated for two Academy Awards for Best Song (for Before My Time from Chasing Ice and for The Moon Song from Her). J. Ralph, the composer of "Before My Time" is even quoted as saying that Scarlett Johansson was 'the only person I want to sing this song.' Typically, the Academy Awards try to get the original performers to sing at the ceremony, but Scarlett Johansson has always been replaced. Does anyone know why?
With deference to Ms. Johansson, she's not a particularly strong singer. WHile that hasn't stopped other performers on Oscar programs in the past, it's safe assumption to believe that Ms. Johansson has people around her who wouldn't like to see her possibly embarrassed by singing during an awards program alongside people with greater measures of talent than herself.
J. Ralph was likely being generous and more than a little bit of a sycophant when he stated that Ms. Johansson was " the only person" that he wanted to sing this song. While modestly talented, she certainly couldn't make a career of being a singer.
It firstly has to be said that Scarlett herself wasn't nominated for the Oscars, as she only performed the two song in the respected movies. To correct a little bit of your question, the writers of the song are the ones who get nominated, not the performers, unless they are one in the same, e.g Adele - Skyfall (Skyfall), Celine Dion - My Heart Will go on (Titanic).
As for why she didn't perform I don't believe she was at the Oscar ceremony this year. But also although she has albums released she may have been nervous to sing live, especially as the song itself is one of the better songs that adds to the movie, through a touching moment rather than a song that is used for pre/post credits filling. Hope this helps.