I believe that the times have changed a lot for Barcelona because for some time they have been a really unique club and were the first address in European soccer for most of the world's best talents. Many of their top players came from their own youth and have all been among the very best. But this is different now and since all those players from this huge era are gone (like Iniesta and Messi), the success also stopped kind of. They are now not this club that everybody wants to go to and they have a harder time to convince the top players to come to them instead of Real Madrid or Manchester City.
Manchester city and Real Madrid had something that Barcelona didn't have and that's the financial backing to sign all this top players that are making waves recently and not because Barcelona is no longer a top club. They still have a history and player would want to sign for them instead of other clubs and this came to display last season when they had transfer window war with Chelsea on some top players that both club wanted and they choose Barcelona over Chelsea on all occasions and that's to show that Barcelona still got what it takes but they're lacking the finance backing to actually chase after this players as they can't offer them the same wages as those these other two clubs will offer them and players are going where the money is this days.
Correct me if I am wrong but I believe that there are still financial fair play rules in place that have nothing to do with the potential money that could be pumped into the clubs by some investor or financial backer. If it was like that, Manchester City would have never gotten under scrutiny because one of the least problems they have is a lack of money I guess. Same for Chelsea, they are under investigation or have been penalized for accounting techniques that stretch transfer fees over a long period of time. They also don't suffer from a lack of money. Again, I would probably have to thoroughly study the topic and if you know something about it, please share it. But from what I understood the Spanish rules are very strict in general and, in contrast to other leagues, the rules are also enforced. I think that is also why Messi had to leave in the end.
Currently I would put Barcelona ahead of Real Madrid. Because all the players of the Barcelona team play the match with great responsibility. On the other hand, if Real Madrid has a dedicated striker, I think the team will be complete.