It does not answer your question, but according to my comments, you can add the height and width of the plot to the ggplotly function using the js link from this .
I have prepared a minimal example of what you want.
library(shiny) library(plotly) ShinyUi <- fluidPage( tags$head(tags$script(' var dimension = [0, 0]; $(document).on("shiny:connected", function(e) { dimension[0] = window.innerWidth; dimension[1] = window.innerHeight; Shiny.onInputChange("dimension", dimension); }); $(window).resize(function(e) { dimension[0] = window.innerWidth; dimension[1] = window.innerHeight; Shiny.onInputChange("dimension", dimension); }); ')), plotlyOutput("distPlot", width = "auto") ) ShinyServer <- function(input, output, session) {
The output you get is as follows: 
Now, when you make the window even smaller, you still get a plot that takes up the entire screen (without scrollbars!) As follows: 
source share